-1
這是我第一篇文章。我已經搜索了這個話題,但似乎沒有任何幫助。當下面的代碼得到執行時,警報仍然熄滅,當它不應該..意味着我不能取消警報,使我的應用程序對API低於21是無用的。任何想法爲什麼?請幫忙!我應該提到,當我使用來自Android Studio的API22模擬器(nexus one)嘗試此代碼時,它可以工作,但是當我使用genymotion中的API18模擬器(samsung s3)時,它不會。AlarmManager取消()不起作用
Intent intent = new Intent(getApplicationContext(), AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 8, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
am.cancel(pendingIntent);
經過進一步測試後,使用不同的仿真器,它對API 17,16,19也是如此。仍然可以在API 22上工作。任何解決方法? – Ownage
你真的在調用'set()'後立即調用'cancel()'嗎? –
你有任何廣播接收機嗎? –