簡體   English   中英

當用戶從最近的應用程序列表中刪除應用程序時,如何取消警報管理器警報?

[英]How to cancel alarm manager alarms when user removes the app from recent apps list?

按照在評論這個問題:“標准的Android只允許你從名單上的Android 3.0+刪除的東西,這樣做不會影響您的AlarmManager事件”。

如果用戶從最近的應用程序列表中滑動應用程序,我想取消警報,但是似乎無法處理可以從中取消警報的最近的應用程序列表中滑動應用程序的方法。 我在應用程序中有選項供用戶取消執行此代碼的警報:

public static void cancelAlarm() {
        if (alarmUp())
        {
            alarmMgr.cancel(pendingIntent);
        }
  }
  public static boolean alarmUp() {
      return (pendingIntent != null);
  }

但是,當應用強制刪除時,如何取消警報? 我不想在應用關閉時(通過按“后退”或“主頁”按鈕)取消警報。

需要完成兩個步驟:

  1. 從“最近”列表中檢測到該應用已刪除。 查看從最近的應用程序列表中滑動Android應用程序時究竟會發生什么? 這是我找到的關於該主題的最佳信息。

  2. 取消警報。 您的問題假設, pendingIntent變量仍然包含先前構造的intent。 這在已卸載的活動中不起作用。 而是構造一個與原始意圖“相等”的意圖(“其動作,數據,類型,類和類別相同”),然后取消該意圖。

這可以通過在Activity OnDestroy()中調用alarm.cancel()輕松實現。

暫無
暫無

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

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