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