web-dev-qa-db-ja.com

プログラムで「バッテリーセーバー」モードを有効/無効にします

Androidの組み込みの「バッテリーセーバー」モードをプログラムで有効または無効にできるかどうかを調べようとしています。

公式のアプローチやトリックは大歓迎です。

参考までに、5.0のAndroidの標準UIに従ってこれを行う方法は次のとおりです。 http://www.androidcentral.com/Android-50-Lollipop-basics-how-get-more-life-between-charges-バッテリーセーバー

私はあなたができることを知っています 検出 それ-それは私が求めているものではありません。

皆さんありがとう。

13

ルート権限を取得されたデバイスでプログラムでバッテリーセーバーを有効/無効にできます。 low_powerファイルのglobalテーブルの/data/data/com.Android.providers.settings/databases/settings.db値を編集する必要があります。

デバイスがsettingsコマンドをサポートしている場合は、(rootとして)実行できます。

settings put global low_power 1

省エネを有効にし、

settings put global low_power 0

無効にします。 そうでない場合は、sqlite3コマンドを使用します。

sqlite3 /data/data/com.Android.providers.settings/databases/settings.db "update global set value='1' where name='low_power';"
sqlite3 /data/data/com.Android.providers.settings/databases/settings.db "update global set value='0' where name='low_power';"

最初に電話をPCから抜く必要があることを忘れないでください。そうしないと、システムが省エネを無効にします。 ADB overWiFiまたはAndroidターミナル(エミュレーター)を使用します。

更新:

sqlite3メソッドはもう信頼できないようです。

Android.os.action.POWER_SAVE_MODE_CHANGEDブロードキャストが送信されるかどうかはわかりません。 here のコードのように、手動で送信する必要があるかもしれません。

private static String COMMAND_ENABLE = "settings put global low_power 1\n" +
        "am broadcast -a Android.os.action.POWER_SAVE_MODE_CHANGED --ez mode true\n";
private static String COMMAND_DISABLE = "settings put global low_power 0\n" +
        "am broadcast -a Android.os.action.POWER_SAVE_MODE_CHANGED --ez mode false\n";

また、新しいpower_savingエントリが設定データベースに表示されたと報告されていますが、Android 6.0.1では見つかりませんでした。Android 7.1.1_r13 low_powerは引き続き内部で使用されます(例: ここ )が、一部のAndroidリリースで変更される可能性があります。例:で変更を確認し続けることをお勧めします。 this および this ファイル。

14
pzmarzly

あなたはあなたの電話を応援せずにはいられません。特に、SdkVersion 23+以降、スキャン結果を表示するために位置情報サービスが必要な場合は特にそうです。

この問題は非常に明白です。 https://code.google.com/p/Android/issues/detail?id=18537

最良の答えは、アプリケーション開発者がグーグルの大君主のためにソースネットワークの場所をクラウドソーシングすることを余儀なくされていることです。 OS自体は、位置情報サービスをオンにしなくてもスキャン結果を表示するのに問題がないことに注意してください。

位置情報サービスが非アクティブな場合、GPSなしで位置情報サービスをオンにする方法がないことを明らかにします。この2段階のシャッフルは、ユーザーのエクスペリエンスの主要な問題です。位置情報サービスをオンにしてから、GPSをオフにします。

このスペースを見てください、途中でより多くのロックダウン。

1
pjc