首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android 11中的权限被拒绝问题(R)

Android 11中的权限被拒绝问题(R)
EN

Stack Overflow用户
提问于 2020-05-14 14:02:52
回答 3查看 6.1K关注 0票数 2

现在我们正在迁移Android 11(R)用于测试目的,但我们面临着“许可被拒绝”的问题。

路径: /mnt/sdcard/Android/data/package_name/files/package_name/*

注意:使用下面的代码获取公共路径。

代码语言:javascript
运行
复制
Context context = _activity.getApplicationContext();
return context.getExternalFilesDir(null) +"/" + getPackageName();

我们需要为Android 11(R)做什么特别的事情吗?

你能建议一下吗?

EN

回答 3

Stack Overflow用户

发布于 2020-06-18 16:14:16

@VMS android从android 11 on words开始强制使用作用域存储。要迁移到范围存储,请使用ApplicationContext.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getPath();

我们不能将null传递给getExternalFilesDir();

票数 2
EN

Stack Overflow用户

发布于 2020-11-27 15:26:54

将requestLegacyExternalStorage添加到AndroidManifest.xml inside中:

代码语言:javascript
运行
复制
<application
    android:name=".Application"
    android:allowBackup="true"
    android:appComponentFactory="whateverString"
    android:icon="@drawable/icon"
    android:requestLegacyExternalStorage="true"
票数 -1
EN

Stack Overflow用户

发布于 2020-05-14 14:15:12

您最有可能获得外部存储权限

清单:

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

onCreate()方法:

代码语言:javascript
运行
复制
int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);

if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_MEDIA);
} else {
    readDataExternal();
}

重写onRequestPermissionsResult方法以获取回调:

代码语言:javascript
运行
复制
 @Override
 public void onRequestPermissionsResult(int requestCode, String permissions[],    int[] grantResults) {
 switch (requestCode) {
    case MY_PERMISSIONS_REQUEST_READ_MEDIA:
        if ((grantResults.length > 0) && (grantResults[0] == PackageManager.PERMISSION_GRANTED)) {
            readDataExternal();
        }
        break;

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

https://stackoverflow.com/questions/61790373

复制
相关文章

相似问题

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