如何解决android.content.ActivityNotFoundException中的致命异常错误

时间:2018-02-15 10:48:35

标签: android android-intent settings

我正在尝试引导我的用户进行电池优化活动,除了一些Android手机的三星手机外,它似乎最适用

Fatal Exception: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS }

此错误显示在OPPO F3手机中, 这就是我用它来启动它

Intent intent = new Intent("android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS");
startActivity(intent);

知道我应该在这些手机上发布什么内容吗?

感谢。

1 个答案:

答案 0 :(得分:0)

在某些设备上,由于自定义固件,此活动可能不存在。

您可以使用此方法检查您的意图:

private static boolean isIntentAvailable(@NonNull Context context, @NonNull Intent intent) {
    return context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0;
}

当你做startActivity时,请执行以下操作:

Intent intent = new Intent("android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS");
if (isIntentAvailable(this, intent)) {
     startActivity(intent);
} else {
     // Do something else
}

或者抓住你的例外。 或者在问题设备上找到这些自定义活动并调用它们。