在我的應用程序中,我希望每隔幾分鐘執行一次任務,爲此我添加了一個報警管理器,以在經過的時間運行。代碼很簡單:android:報警任務在應用程序關閉時關閉
AlarmManager mgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(this, OnAlarmReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(this, 0, i, 0);
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() + 1000 /* Initial run in 1 second */,
OnBootReceiver.REPEAT_PERIOD, /* 10 minutes */
pi);
當然
我有廣播接收器:
public class OnBootReceiver extends BroadcastReceiver {
//implementation here
}
我跑在我的應用程序廣播(OnBootReceiver),並在主要活動這個代碼,以確保我的代碼運行在應用程序啓動和每次啓動時。
我的問題是當操作系統關閉bg應用程序。如果我去任務管理器並運行清除內存命令,我的應用程序將關閉,並且不會收到任何警報通知。
在這種情況下,我如何在我的代碼中繼續接收報警通知?
用戶有停止使用應用程序的方法(關閉按鈕),我需要的是確保只有用戶可以關閉應用程序而不關閉操作系統。 –
@ZelterAdy:你可以建立自己的移動操作系統。或者,您可以下載Android源代碼,從設置中刪除強制停止按鈕,重建該源代碼,將其轉換爲ROM模塊,然後在任何可以使用的設備上安裝該ROM模塊。否則,用戶可以對其設備進行最終控制,包括設備製造商提供的強制停止和任何等價物。 – CommonsWare