9

GPS追跡を行い、バックグラウンドで車へのOBDII接続を確立できるマイレージログブックアプリがあります。

バックグラウンド(実際にはフォアグラウンド)サービスが停止する可能性があるため、アプリが居眠りでホワイトリストに登録されていない場合にユーザーに通知するポップアップを表示したいと思います...

そうです:

 String PACKAGE_NAME = getApplicationContext().getPackageName();
            PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);
            boolean status = false;
            status = pm.isIgnoringBatteryOptimizations(PACKAGE_NAME);

            if (!status) {
                // show popup
            }

しかし、PowerManager.isIgnoringBatteryOptimizations は、「最適化されていないアプリ」から再度削除されても、常に「true」を返します。アプリをアンインストールした場合にのみ、「false」が再び返されます... Galaxy Note 8 (Android 8.0) および Emulator 8.1 でテスト済み

質問は簡単です: これはバグですか? または、ホワイトリストからアプリを削除して、PowerManager.isIgnoringBatteryOptimizations が再び「false」を返すようにする方法は?

4

1 に答える 1