首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android 5三星设备的Android使用访问权限

Android 5三星设备的Android使用访问权限
EN

Stack Overflow用户
提问于 2015-02-03 18:29:10
回答 1查看 5.7K关注 0票数 40

正如你可能知道的,自从Android 5发布以来,访问设备的最近任务(使用统计数据)需要用户手动启用此功能(设置->安全->使用访问)。

我的应用程序检查设备是否使用Android 5,如果是,它为用户提供了打开设置屏幕以启用使用访问的可能性:

代码语言:javascript
复制
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
                    startActivityForResult(intent, 12345);

当我试图在运行Android 5的三星设备上执行此操作时,问题就来了……当上面显示的代码行被执行时,我得到了这个错误:

代码语言:javascript
复制
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操作,这很奇怪,因为如果你进入设置,就会有允许应用程序访问此使用情况统计数据的选项...

对于这个特定的案例,你知道如何解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2016-06-21 16:02:15

很抱歉回复晚了,我希望你已经找到了一个很好的解决方案,但是如果没有,或者对于其他有这个问题的人,

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

代码语言:javascript
复制
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();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28296633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档