Android 9(API 级别 28)中发布的电源管理功能会影响在此版本上运行的所有应用,无论应用是否以该版本为目标。确保您的应用在这些设备上正常运行非常重要。
在各种条件下测试应用的主要用例,以了解电源管理功能如何相互影响。您可以使用 Android 调试桥 (adb
) 命令来打开或关闭某些功能。
Android 调试桥 (adb) 命令
您可以使用 adb
shell 命令测试几个电源管理功能。
有关使用 adb
将设备置于休眠状态的信息,请参阅 使用休眠和应用待机进行测试。
应用待机时段
您可以使用 adb
手动将应用分配到应用待机时段。要更改应用的时段,首先使用以下命令模拟拔掉设备
$ adb shell dumpsys battery unplug
使用以下命令将您的应用分配到待机时段
$ adb shell am set-standby-bucket packagename active|working_set|frequent|rare
您还可以使用上述命令一次设置多个包
$ adb shell am set-standby-bucket package1 bucket1 package2 bucket2...
要检查应用位于哪个时段,请运行以下命令
$ adb shell am get-standby-bucket packagename
如果您不传递 packagename 参数,则该命令会列出所有应用的时段。应用还可以通过调用新方法 UsageStatsManager.getAppStandbyBucket()
在运行时查找其时段。
后台限制
要手动应用后台限制,请运行以下命令
$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND ignore
要删除后台限制,请运行以下命令
$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND allow
电池保护程序
有几个命令可以测试应用在低电量条件下的行为。
要模拟设备已断电,请使用以下命令
$ adb shell dumpsys battery unplug
要测试设备在低电量条件下的行为,请使用以下命令
$ adb shell settings put global low_power 1
测试完成后,您可以使用以下命令撤消手动设备设置
$ adb shell dumpsys battery reset