Android - AlarmClock 鬧鐘 特定時間 週期
會用到AlarmManager主要是安排應用程序在將來的某個時間運行
今天在開發時,將AlarmManager cancel後,AlarmManager 功能卻還會執行......這這這到底怎麼一回事?
我的程式碼
新增
Intent intent = new Intent();
intent.setAction("MyAlarmClock");
PendingIntent sender = PendingIntent.getBroadcast(mContext, 0, intent, 0);
long firstTime = SystemClock.elapsedRealtime();
firstTime += firstSecond * 1000;
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
firstTime, intervalSecond * 1000, sender);
停止
Intent intent = new Intent();
intent.setAction("MyAlarmClock");
PendingIntent sender = PendingIntent.getBroadcast(mContext, 0, intent, 0);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.cancel(sender);
於是開始解決
先確認了語法 -> 無誤
開始大膽假設......
拿出其他設備驗證 -> 無發生
難道是底層?
於是下指令取得設備的Alarm
adb shell dumpsys alarm
得到以下結果
u0a386:com.bora.alarm +712ms running, 22 wakeups:
+712ms 22 wakes 22 alarms, last -11s219ms:
*walarm*:MyAlarmClock
u0a409:com.bora.alarmtest +2s206ms running, 34 wakeups:
+2s206ms 34 wakes 34 alarms, last -17m20s383ms:
*walarm*:MyAlarmClock
發現在系統有兩個一樣的AlarmClock,其實是有個測試版APP建了個一樣特徵的Alarm,原來如此!將其中一個APP移除,即可解決 ☺
實在是自己挖坑自己跳 哈哈哈
❤
今天在開發時,將AlarmManager cancel後,AlarmManager 功能卻還會執行......這這這到底怎麼一回事?
我的程式碼
新增
Intent intent = new Intent();
intent.setAction("MyAlarmClock");
PendingIntent sender = PendingIntent.getBroadcast(mContext, 0, intent, 0);
long firstTime = SystemClock.elapsedRealtime();
firstTime += firstSecond * 1000;
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
firstTime, intervalSecond * 1000, sender);
停止
Intent intent = new Intent();
intent.setAction("MyAlarmClock");
PendingIntent sender = PendingIntent.getBroadcast(mContext, 0, intent, 0);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.cancel(sender);
於是開始解決
先確認了語法 -> 無誤
開始大膽假設......
拿出其他設備驗證 -> 無發生
難道是底層?
於是下指令取得設備的Alarm
adb shell dumpsys alarm
得到以下結果
u0a386:com.bora.alarm +712ms running, 22 wakeups:
+712ms 22 wakes 22 alarms, last -11s219ms:
*walarm*:MyAlarmClock
u0a409:com.bora.alarmtest +2s206ms running, 34 wakeups:
+2s206ms 34 wakes 34 alarms, last -17m20s383ms:
*walarm*:MyAlarmClock
發現在系統有兩個一樣的AlarmClock,其實是有個測試版APP建了個一樣特徵的Alarm,原來如此!將其中一個APP移除,即可解決 ☺
實在是自己挖坑自己跳 哈哈哈
❤
留言
張貼留言