Android使用Android 5访问三星设备

您可能知道,自启动Android 5以来,访问设备的最近任务(使用状态)需要用户手动启用此function(设置 – >安全 – >使用访问)。

我的应用程序检查设备是否使用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行动尚未实施,这是奇怪的,因为如果你去设置的选项,以使应用程序访问此使用情况统计有…

任何想法如何解决这个特定的情况下这个问题?

Solutions Collecting From Web of "Android使用Android 5访问三星设备"

对不起,迟到,我希望你已经find了一个很好的解决scheme,但如果没有或为其他人谁有这个问题,

这个错误似乎存在于某些三星机型中,为了避免你的应用程序崩溃,也许你可以检查你的意图是否可以被处理

 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(); }