3

是否有任何回调表明该应用已在 Android Q 中暂停?在这种情况下,我想对应用程序执行一些操作,但我找不到任何描述。

“暂停应用”是Android Q的新功能: https ://9to5google.com/2019/05/21/digital-wellbeing-pixel-launch-pause-app/

它不是 onPause() 生命周期方法。

4

3 回答 3

2

对于其他对他的问题投反对票的用户——这是关于已被推送到 Pixel 手机的谷歌数字福利计划中的一项功能——而不是关于活动生命周期

对于 OP - 我认为您还不会得到满意的答案。我查看了Android Q Beta 文档,他们没有提供任何特定内容的链接。但是对于未来的开发人员,我认为要搜索的术语是他们的文档中提到的“分心状态”:

每个应用的分心状态——Android Q 现在可以有选择地将应用设置为“分心状态”,在这种状态下它们的通知被抑制并且它们不会显示为建议的应用。

目前我唯一能建议的就是不要在 gradle 中定位 android Q。所以今天正确的答案是这个信息/api还没有公开

于 2019-08-01T12:05:30.417 回答
0

由于目前没有针对此问题的官方文档,因此我将其发布为答案,希望会有官方解决方案。

您可以使用意图过滤器 Intent.ACTION_PACKAGES_SUSPENDED 注册 BroadcastReceiver。一旦您将应用程序置于此模式,它将被触发。

但我不确定它不会有副作用或在所有设备上都能稳定工作。我在 Pixel 2 上试过。

于 2019-08-01T12:10:59.317 回答
-1

目前在这篇文章的时间。没有关于 Android QPause App featureAndroid Activity 生命周期以及应用程序如何跟踪此操作相关的文档。但根据我对我在此处阅读Pause App feature的帖子的工作原理的理解,来自应用程序的所有通知都被禁用,并且从启动器中选择应用程序也被禁用。

暂停使用的应用程序Pause App feature仍然可以运行,但既不能恢复/启动,也不能发送新通知。

这是我对我认为paused app可以做些什么来验证它在针对 android Q 时是否已暂停的看法。虽然效率不够。

  • 应用程序在启动期间使用startForeground启动通知,因此它不会被用户关闭。显示类似MyApp is running.
  • 应用程序使用正在运行的前台服务,该服务定期检查通知的状态every nth minutes
  • 如果服务是still running and the foreground notification is closed or cannot be found由服务提供的,那么逻辑上我们可以说应用程序位于paused state.
于 2019-08-01T12:48:11.207 回答