AlarmManager:从某些设备上的最新应用程序中刷出应用程序后,PendingIntent消失了 [英] AlarmManager: PendingIntent gone after swiping app from recent apps on some devices

查看:106
本文介绍了AlarmManager:从某些设备上的最新应用程序中刷出应用程序后,PendingIntent消失了的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Simple demo GitHub project: https://github.com/Try4W/AlarmManagerDemo

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

On emulators(Android 4.1.1, Android 6):

  1. 我使用 AlarmManager
  2. 安排新的 PendingIntent
  3. 通过 adb shell dumpsys警报
  4. 检查活动警报
  5. 查看我的 Intent
  6. 通过从最近的应用程序中刷卡来关闭应用程序
  7. 通过 adb shell dumpsys警报
  8. 检查活动警报
  9. 查看我的意图
  10. BroadcastReciver触发了!
  1. I scheduling new PendingIntent with AlarmManager
  2. check active alarms via adb shell dumpsys alarm
  3. see my Intent
  4. close app via swiping it from recent apps
  5. check active alarms via adb shell dumpsys alarm
  6. see my Intent
  7. BroadcastReciver fired at time!

在我的设备上(LeTv One/Android 6):

On my device(LeTv One/Android 6):

  1. 我使用 AlarmManage
  2. 安排新的 PendingIntent
  3. 通过 adb shell dumpsys警报
  4. 检查活动警报
  5. 查看我的 Intent
  6. 通过从最近的应用程序中刷卡来关闭应用程序
  7. 通过 adb shell dumpsys警报
  8. 检查活动警报
  9. 看不到我的 Intent
  10. BroadcastReciver根本没有触发
  1. I scheduling new PendingIntent with AlarmManage
  2. check active alarms via adb shell dumpsys alarm
  3. see my Intent
  4. close app via swiping it from recent apps
  5. check active alarms via adb shell dumpsys alarm
  6. DO NOT see my Intent
  7. BroadcastReciver not fired at all

如果我将应用程序添加到受保护的应用程序"中,则从最近的应用程序中删除应用程序后未删除 Intent .

If I add my app to 'protected apps' Intent not removed after removing app from recent apps.

但是!在我的设备上,AliExpress的应用程序发布通知未添加到受保护的应用程序"中.

BUT! On my device AliExpress's app post notification without adding to 'protected apps'.

注意:在 BOOT_COMPLETED

他们是如何实现的?

我已经尝试过的:

    通过 alarmManager.setAlarmClock(...)
  1. 设置警报通过 setExactAndAllowWhileIdle(...)
  2. 设置警报
  3. 使用意图过滤器执行 BroadcastReciever
  4. 在单独的进程中运行的 Service 设置警报
  1. set alarm via alarmManager.setAlarmClock(...)
  2. set alarm via setExactAndAllowWhileIdle(...)
  3. use intent-filter to execute BroadcastReciever
  4. set alarm from Service running in separated process

推荐答案

在某些(大多数) Android 设备上,从最近使用的应用程序"列表中滑动应用程序与 force-closesing相同. Apps 设置屏幕上

On some (most) Android devices, swiping an app from the recents apps list is the same as force-closing it from the Apps settings screen.

Android 假定这意味着用户不需要该应用程序进行任何活动,直到另行通知,这意味着用户在该应用程序上手动启动了该应用程序.

Android assumes this means the user doesn't want any activity from this app until further notice, which means manually launching on the app by the user.

查看此内容:在强制使用应用程序时,AlarmManager不起作用关闭

这篇关于AlarmManager:从某些设备上的最新应用程序中刷出应用程序后,PendingIntent消失了的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆