AlarmManager:在某些设备上从最近的应用程序中滑动应用程序后,PendingIntent消失

时间:2016-12-30 08:06:10

标签: android android-intent alarmmanager android-alarms

简单演示GitHub项目:https://github.com/Try4W/AlarmManagerDemo

在模拟器上(Android 4.1.1,Android 6):

  1. 我使用PendingIntent
  2. 安排新的AlarmManager
  3. 通过adb shell dumpsys alarm
  4. 检查有效的闹钟
  5. 查看我的Intent
  6. 通过从最近的应用中轻扫来关闭应用
  7. 通过adb shell dumpsys alarm
  8. 检查有效的闹钟
  9. 查看我的Intent
  10. BroadcastReciver当时被解雇了!
  11. 在我的设备上(LeTv One / Android 6):

    1. 我使用PendingIntent
    2. 安排新的AlarmManage
    3. 通过adb shell dumpsys alarm
    4. 检查有效的闹钟
    5. 查看我的Intent
    6. 通过从最近的应用中轻扫来关闭应用
    7. 通过adb shell dumpsys alarm
    8. 检查有效的闹钟
    9. 请勿查看我的Intent
    10. BroadcastReciver根本没有被解雇
    11. 如果我将应用添加到“受保护的应用”Intent,则在从最近的应用中移除应用后,该应用无法删除。

      BUT!在我的设备上,AliExpress的应用程序发布通知,而不添加“受保护的应用程序”。

      注意:在BOOT_COMPLETED

      上安排的警报没有问题

      他们是如何实现这一目标的?

      我已经尝试过:

      1. 通过alarmManager.setAlarmClock(...)
      2. 设置闹钟
      3. 通过setExactAndAllowWhileIdle(...)
      4. 设置闹钟
      5. 使用intent-filter执行BroadcastReciever
      6. 设置来自Service在分离进程中运行的警报

1 个答案:

答案 0 :(得分:2)

在某些(大多数)Android设备上,从最新应用列表中滑动应用与force-closing设置屏幕中的Apps相同。

Android假设这意味着用户不希望此应用的任何活动,直到另行通知,这意味着用户手动启动应用。

请参阅:AlarmManager does not work when app is force closed