问题描述
Android 9 引入了一个选项来限制应用的电池使用量(有时称为限制应用后台活动)。可以在应用设置中设置此选项:
在 this page 上简要描述了此效果:大概不会在指定时间触发警报,作业也不会。对用户体验而言并不总是很好,尤其是在用户不知道或忘记设置了此限制的情况下。
但是我已经看到一些应用程序设法检测到此选项何时设置为“受限”,例如显示一条消息,表明某些功能可能因此而行为不端。 可以使用哪些 API 来检测这一点?我试过了:
-
UsageStatsManager.getAppStandbyBucket()
:更改电池限制前后查询此方法未更改其值。似乎更多地与应用使用频率有关。
解决方法
您可以使用 ActivityManager.isBackgroundRestricted()
检查您的应用程序是否启用了后台限制。
您可以在此处阅读更多信息: https://developer.android.com/reference/android/app/ActivityManager#isBackgroundRestricted()