Android 9(API レベル 28)でリリースされた電源管理機能は、アプリがこのバージョンをターゲットにしているかどうかにかかわらず、このバージョン上で稼働するすべてのアプリに影響します。このようなデバイス上でアプリが正しく動作するか必ず確認してください。
さまざまな条件下でアプリの主なユースケースをテストして、電源管理機能の相互作用を確認してください。Android Debug Bridge(adb
)コマンドを使用すると、一部の機能のオン / オフを切り替えることができます。
Android Debug Bridge(adb)コマンド
adb
シェルコマンドを使用して、いくつかの電源管理機能をテストできます。
adb
を使用してデバイスを Doze モードにする方法については、Doze モードとアプリ スタンバイ モードでテストするをご覧ください。
アプリ スタンバイ バケット
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