我有一個android setInexactRepeating置於我的onCreate中,永遠不會觸發。我在裏面有一個日誌,以確保它實際上正在執行,這似乎並沒有觸發,以及我爲它計劃的事件。我希望它每隔10秒就會關閉一次,但即使是第一次,它也不會消失。Android的SetInexactRepeating根本沒有發射
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("Restart", "First");
Intent toRun = new Intent(this, AlarmRestart.class);
PendingIntent pendingToRun = PendingIntent.getBroadcast(this, 0, toRun, 0);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.cancel(pendingToRun);
am.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, System.currentTimeMillis(), 10000L, pendingToRun);
Log.d("Restart", "Second");
}
這是在其他文件:
public class AlarmRestart extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Log.d("Restart", "Third");
}
}
這就是 「亞行外殼dumpsys報警說:」
com.packageName.restart
5715ms running, 64 wakeups
3 alarms: flg=0x14 cmp=com.packageName.restart/.AlarmRestart
61 alarms: flg=0x14 cmp=com.packageName.restart/.reciever.AlarmRestart
能'alarm.cancel()'是問題的一部分? – eternalmatt 2012-07-30 19:24:06
感謝您的建議!這應該只是取消以前的setInexactRepeating,我沒有它嘗試過,仍然有相同的效果。 – Lethjakman 2012-07-30 19:26:53