我已經創建了一個啓動接收器來每5分鐘反覆調用一次喚醒的意圖服務,但無法弄清楚如何在安裝應用程序時立即啓動服務。我不想依賴用戶在開始運行之前重新啓動他們的設備!Android - 立即啓動報警服務?
這裏是我到目前爲止的代碼:
public class OnBootReceiver extends BroadcastReceiver {
private static final int PERIOD = 300000; // check every 5 minutes
@Override
public void onReceive(Context context, Intent intent) {
AlarmManager mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, OnAlarmReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 60000, PERIOD, pi);
}}
誰能幫我請? :)
感謝阿爾法,但我使用alarmmanager解決方案,以確保我的服務在待機(睡眠)模式下運行,而不使用局部喚醒鎖定,因爲這會消耗電池壽命。應用程序安裝真的沒有事件嗎? :/ – Mike
請注意,有些設備會輸入一些名爲深度睡眠的東西,其中無論您使用何種方法,都不會喚醒。我的意思是,你只需要提交一個新的警報管理器時間表來啓動服務。 – AlfredoVR