Android 6.0 - 无法在SD卡上创建目录

时间:2017-01-08 14:01:30

标签: android android-permissions android-sdcard

我在SD卡上创建目录时遇到问题。
AndroidManifest.xml 包含必要的权限:

<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<a href="#"><i class="fa fa-facebook"></i></a>
<a href="#"><i class="fa fa-twitter"></i></a>
<a href="#"> <i class="fa fa-google"></i>
</a>

对于Android 6.0,我在运行时询问这些权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<application...

等待结果:

int permissionCheck1 = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
int permissionCheck2 = ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permissionCheck1 != PackageManager.PERMISSION_GRANTED || permissionCheck2 != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(this,
                new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
                        Manifest.permission.WRITE_EXTERNAL_STORAGE},
                REQUEST_READWRITE_STORAGE);
} else {
    init();
}

我的应用程序确定了两个可用存储:
内部 - / storage / emulated / 0
和外部(可移动SD卡) - / storage / 6052-CD5B

我使用

创建文件夹
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    switch (requestCode) {
        case REQUEST_READWRITE_STORAGE:
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                init();
            } else {
                Toast toast = Toast.makeText(this, "Read / Write storage permissions required", Toast.LENGTH_SHORT);
                toast.show();
            }
            break;
        default:
            break;
    }
}

结果:
我可以在 / storage / emulated / 0 中创建文件夹。
我可以在 / storage / 6052-CD5B / Android / data / myapp (这是我的应用程序文件夹)中创建文件夹。
但我无法在我的应用程序文件夹外的 / storage / 6052-CD5B 中创建文件夹,例如图像文件夹 / storage / 6052-CD5B / DCIM

似乎授予的权限只允许我访问特定于应用程序的文件夹。是这样吗?如果没有,我怎样才能最终获得对其他SD卡文件夹的写入权限?

0 个答案:

没有答案
相关问题