簡體   English   中英

使用AlarmManager一次取消所有具有不同PendingIntent設置的警報,而不必再次重新創建每個PendingIntent

[英]Cancel All Alarms each with different PendingIntent set using AlarmManager at once without having to recreate each PendingIntent again

我設置了多個重復警報,每個警報都具有不同的PendingIntent。 有沒有辦法立即取消所有這些警報? 我發現取消警報的唯一方法是創建單個PendingIntent,然后調用AlarmManager.cancel(pendingIntent)方法。 由於我有許多具有不同PendingIntent的警報,因此我必須重新創建所有警報,是否有更好的方法?

據我所知,沒有其他方法可以取消警報

您唯一的方法是重新創建待處理的意圖並取消它。

AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent updateServiceIntent = new Intent(context, MyPendingIntentService.class);
PendingIntent pendingUpdateIntent = PendingIntent.getService(context, 0, updateServiceIntent, 0);
    // Cancel it
    try{
        alarmManager.cancel(pendingUpdateIntent);
        } catch (Exception e) {
        Log.e(TAG, "Update failed " + e.getMessage());
     }

考特西

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM