REQUEST_IGNORE_BATTERY_OPTIMIZATIONS Запуск, но без запроса - PullRequest
2 голосов
/ 16 апреля 2019

Я пытаюсь отключить оптимизацию батареи на Android 9 с помощью ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS в push-уведомлении при запуске приложения.

В файле активности (с помощью построителя уведомлений):

Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
PendingIntent pendingIntent = PendingIntent.getActivity(getContext(), 0, intent, 0);
NotificationCompat.Builder...
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(getContext());
notificationManager.notify(notificationId, builder.build());

В AndroidManifest.xml:

<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />

Я могу получить push-уведомление дляпокажи, но при нажатии просто исчезает.Запрос «Разрешить» не появляется.Я что-то не так с установкой?

1 Ответ

1 голос
/ 17 апреля 2019

Вам не хватает Uri в данных. Из документации :

Ввод: URI данных Intent должен указывать имя пакета приложения быть показано, со схемой «пакет». Это "пакет: com.my.app".

Сделайте что-то вроде:

Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parseString("package:my.package.name");
...