REQUEST_IGNORE_BATTERY_OPTIMIZATIONS触发但无提示

时间:2019-04-16 17:59:55

标签: android android-intent permissions notifications battery

我正在尝试在应用启动时通过推送通知中的ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS禁用Android 9上的电池优化。

在活动文件中(使用通知生成器):

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" />

我可以显示推送通知,但是当您点击时,它就会消失。不会弹出“允许”的提示。我的设置有问题吗?

1 个答案:

答案 0 :(得分:1)

您在数据中缺少Uri。来自documentation

  

输入:Intent的数据URI必须指定应用程序包名称   与“包装”方案一起显示。那是“ package:com.my.app”。

执行以下操作:

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