首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 6.0: SD卡目录创建失败,尽管有权限

Android 6.0引入了运行时权限机制,对于一些敏感的权限,如读写外部存储(SD卡)权限,需要在运行时动态申请。如果在应用中没有正确处理权限申请逻辑,可能会导致SD卡目录创建失败的问题,即使应用已经被授予了相应的权限。

解决这个问题的方法是在应用中正确处理权限申请逻辑。以下是一般的解决步骤:

  1. 在AndroidManifest.xml文件中添加权限声明,确保已经声明了读写外部存储的权限:
代码语言:txt
复制
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  1. 在代码中检查是否已经被授予了读写外部存储的权限:
代码语言:txt
复制
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE)
        != PackageManager.PERMISSION_GRANTED) {
    // 如果没有权限,则动态申请权限
    ActivityCompat.requestPermissions(activity,
            new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
            REQUEST_CODE);
} else {
    // 如果已经有权限,则进行SD卡目录创建等操作
    // ...
}
  1. 处理权限申请结果,在Activity的onRequestPermissionsResult方法中处理权限申请结果:
代码语言:txt
复制
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    if (requestCode == REQUEST_CODE) {
        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // 权限申请成功,进行SD卡目录创建等操作
            // ...
        } else {
            // 权限申请被拒绝,需要给出相应的提示或处理逻辑
            // ...
        }
    }
}

通过正确处理权限申请逻辑,可以确保在Android 6.0及以上版本中,应用能够正确创建SD卡目录。

关于Android开发、权限申请和SD卡目录创建等相关知识,可以参考腾讯云的文档和产品:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券