适用于Android 5 Samsung设备的Android使用权限

您可能知道,由于Android 5已启动,因此访问设备的最新任务(使用情况统计信息)需要用户手动启用此功能(Settings-> Security-> Usage Access)。

我的应用程序检查设备是否使用Android 5,如果是这样,那么它为用户提供打开设置屏幕以启用使用权限的可能性:

Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
                    startActivityForResult(intent, 12345);

当我在运行Android 5的三星设备中尝试执行此操作时,问题出现在上面显示的行执行时,我收到此错误:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.USAGE_ACCESS_SETTINGS }
            at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1801)
            at android.app.Instrumentation.execStartActivity(Instrumentation.java:1499)
            at android.app.Activity.startActivityForResult(Activity.java:3913)

似乎Settings.ACTION_USAGE_ACCESS_SETTINGS操作尚未实现,这是很奇怪的,因为如果你去设置选项来启用应用程序访问这个使用情况统计信息是…

任何想法如何解决这个问题的具体情况?

对不起,迟到了,希望你能找到一个很好的解决方案,但如果没有,或者对于有这个问题的其他人,

这个bug似乎存在于一些三星机型中,以避免您的应用程序崩溃,也许您可​​以检查您的意图是否可以处理

PackageManager packageManager = getActivity().getPackageManager();
if (intent.resolveActivity(packageManager) != null) {
    startActivity(intent);
} else {
    Toast.makeText(getBaseContext(), "Please open settings, your model can't be forced to open it", Toast.LENGTH_LONG).show();
}
http://stackoverflow.com/questions/28296633/android-usage-access-for-android-5-samsung-devices

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:适用于Android 5 Samsung设备的Android使用权限