14

新しいAndroid Mビルドでは、バッテリーの最適化機能により、バッテリーを節約するために特定の条件でアプリが停止しますがVOIP、常に動作し続ける必要があるアプリの場合、この機能は開発者に問題を引き起こします.

現在、最適化をバイパスする方法が 1 つあります。これは、最適化を無視するようにアプリを設定することですが、実行する必要がある手順が多すぎます。

私の質問は、特定のアプリの最適化ページを無視するようにジャンプする方法はありますか?また、自分のアプリが最適化から除外されているかどうかを知るにはどうすればよいですか?

4

3 に答える 3

8

警告: Google は、Play ストアのアプリがこれを行うことを許可していないようです。以下のコメントを参照してください。

MPA44I ビルドの Settings.apk から抽出された AndroidManifest.xml に基づいて、次のようなインテントで目的の操作を実行できるように思われます。

XML から:

<intent
    android:action="android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
    android:targetPackage="com.android.settings"
    android:data="package:PUT_YOUR_PACKAGE_NAME_HERE" />

コードから:

try {
    Intent intent = new Intent(android.provider.Settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
    intent.setData(Uri.parse("package:PUT_YOUR_PACKAGE_NAME_HERE"));
    startActivity(intent);

} catch (ActivityNotFoundException e) {
    e.printStackTrace();
}

これを実際に自分で確認する時間はありませんでしたが、アプローチは、アプリの 1 つでアプリ固有の設定メニューを起動するために使用するのと同じであることに注意してください。それでも、お役に立てば幸いです。

于 2015-08-21T22:37:26.133 に答える
0

アプリがホワイトリストに登録されている場合でも、これは Doze モードには影響しないため、現時点では最適化を効果的にオプトアウトする方法はありません。

ここを参照してください: https://stackoverflow.com/a/31721398/4301846

そしてここ: https://code.google.com/p/android-developer-preview/issues/detail?id=2225

于 2015-08-31T09:19:23.200 に答える