首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不提示或切换Android权限

不提示或切换Android权限
EN

Stack Overflow用户
提问于 2016-11-07 00:20:14
回答 1查看 184关注 0票数 1

在我的安卓7应用程序targetSdkVersion 24中,我试图请求一个安卓许可WRITE_EXTERNAL_STORAGE。然而,当我运行这个应用程序时,它从来没有提示我需要这个权限,当我在我的设备上进入设置>应用程序> MyApp >权限时,我没有看到与WRITE_EXTERNAL_STORAGE相关的任何切换。

我是不是错过了什么步骤?

AndroidManifest.xml (完整文件on pastebin)

代码语言:javascript
复制
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

MyActivity.java

代码语言:javascript
复制
int permission = activity.checkSelfPermission(perm);
if (permission != PackageManager.PERMISSION_GRANTED)
    activity.requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
EN

回答 1

Stack Overflow用户

发布于 2016-12-02 02:45:02

在花了一些时间调查之后,我提出了一个关于这个问题的理论。

我的应用程序的AndroidManifest.xml中有一些依赖项:

代码语言:javascript
复制
<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE"
        android:maxSdkVersion="18" />

如果SDK高于18,它会自动拒绝WRITE_EXTERNAL_STORAGE权限。这与我得到的问题一致;权限被拒绝,甚至不提示用户。

然后,我测试将此代码添加到我的应用程序AndroidManifest.xml中,试图覆盖lib依赖权限设置:

代码语言:javascript
复制
android:maxSdkVersion="25"

然后,由于masSdkVersion上的合并冲突,它无法构建。这进一步证实了我对这个问题的怀疑;android:maxSdkVersion传播到了App模块。

在翻遍文档后,我找不到解决方案,但我有一个变通的办法。READ_EXTERNAL_STORAGE与WRITE_EXTERNAL_STORAGE在同一组中,文档称,请求同一组的权限将适用于整个组的其余权限。

因此,我在我的应用程序和AndroidManifest.xml上测试了请求读取权限,它是有效的,但我认为它很愚蠢。

当我找到合适的解决方法时,我会更新的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40451572

复制
相关文章

相似问题

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