Android O设置为应用程序启用后台限制

时间:2017-09-20 07:31:44

标签: android android-8.0-oreo notification-channel

根据Docs -

  

注意:默认情况下,这些限制仅适用于定位的应用   Android 8.0(API级别26)或更高版本。但是,用户可以启用最多   对于来自“设置”屏幕的任何应用程序的这些限制,即使   该应用程序的目标是API级别低于26。

我的目标是在API 26以下,但我无法找到在官方Android模拟器中启用限制的设置。

此设置在哪里?

2 个答案:

答案 0 :(得分:6)

应用信息 - >中可以使用 启用后台限制 的设置。 电池屏幕。

尚未在模拟器中重现。

在您最初安装应用程序(目标低于API 26)之前,该选项不可用,直到该应用程序执行某些后台工作。

所以我能够通过 -

来制作它
  1. 在API 25上定位应用程序
  2. 创建长时间运行的服务(约5分钟)
  3. 从onCreate of MainActivity启动服务
  4. 将应用程序发送到后台(按回)并将设备保持在电池状态(未连接电源)
  5. 在几分钟内,该选项将可用于启用限制。

答案 1 :(得分:1)

您可以使用adb启用/禁用背景限制。

  

Android 7.0(API级别24)引入了一些其他的Android调试桥(ADB)命令,可用于在禁用这些后台进程的情况下测试应用程序的行为:

     
      
  • 要模拟隐式广播和后台服务不可用的条件,请输入以下命令:   $ adb shell cmd appops set <package_name> RUN_IN_BACKGROUND ignore
  •   
  • 要重新启用隐式广播和后台服务,请输入以下命令:   $ adb shell cmd appops set <package_name> RUN_IN_BACKGROUND allow
  •   

来源:https://developer.android.com/topic/performance/background-optimization#further-optimization

您还可以将您的应用设置为在后台运行:

adb shell am make-uid-idle <package>

来源:Android Oreo Background Execution Limits