找不到处理意图的活动:ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

时间:2018-06-06 11:57:31

标签: android android-permissions

我正在尝试启动一项活动,将模拟器上的应用程序列入白名单(API 25),但我一直收到错误消息:

Caused by: android.content.ActivityNotFoundException: 
No Activity found to handle Intent { act=android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS }

这是我的代码:

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
    startActivity(intent);

  }

有人知道为什么会抛出这个错误吗?

2 个答案:

答案 0 :(得分:5)

看看Android开发者文档: https://developer.android.com/reference/android/provider/Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

看起来你错过了这部分:

  

输入:Intent的数据URI必须指定要显示的应用程序包名称,并使用" package"方案。那是"包:com.my.app"

以下行应该有所帮助:

traefik.docker.network

答案 1 :(得分:0)

您应该指定您的包裹名称!

intent.setData(Uri.parse("package:" + packageName));

这是文件:

https://developer.android.com/reference/android/provider/Settings.html#ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS