Android 6.0 无法在SD卡创建目录的方法

所属分类: 软件编程 / Android 阅读数: 54
收藏 0 赞 0 分享

摘要

今天开发中遇到一个问题,项目无法在Android6.0设备的SD卡创建目录,在Android6.0以下的移动设备测试了5.0 、4.3的设备,均正常,但是在Android6.0却不正常。

经过排查,执行下列代码无法在6.0的设备上面创建目录

File dir = new File(DbConfig.BASE_PATH);
if (!dir.exists()) {
 dir.mkdirs();
}

衍生知识

2015年5月29日中Google I/O开发者大会,Google 发布了 Android M,并命名为“棉花糖”(Marshmallow),对于开发者来说, Android 6.0(API 23)给开发者带来的一些变化。

权限管理是 Android M 最大的改变

变化描述:

权限管理更加精细,并且由以前的安装时静态授权,改为现在的运行时动态授权。

大家对 Android 的权限吐槽已久,Android 应该能极大的改善这方面的问题。

主要改变有:

系统设置中可以对 APP 各个权限单独控制权限根据内容进行分组了

普通权限还是在安装时授权,其他权限在运行时系统弹窗授权,并且要解析使用这个权限的目的

对于开发者来说,需要小心处理权限相关的问题。在使用某个功能的时候,需要总是判断是否有改权限,并且通过合适的方式请求用户授权。

现在描述一下处理的解决方案

1 发起读写设备存储空间的权限

ActivityCompat.requestPermissions(AppStartActivity.this,new String[]{ android.Manifest.permission.WRITE_EXTERNAL_STORAGE},1);

2 写权限请求回掉函数

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
 boolean writeAccepted = false;
 switch (requestCode) {
  case 1:
   writeAccepted = grantResults[0] == PackageManager.PERMISSION_GRANTED;
   break;
 }
}

3 执行创建目录代码

if (writeAccepted) {
  String state = Environment.getExternalStorageState();
  if (Environment.MEDIA_MOUNTED.equals(state)) {
   File dir = new File(DbConfig.BASE_PATH);
   if (!dir.exists()) {
   dir.mkdirs();
   }
  }
 }

以上这篇Android 6.0 无法在SD卡创建目录的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Android studio点击跳转WebView详解

这篇文章主要为大家详细介绍了Android studio点击跳转WebView的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android自定义Drawable实现圆形和圆角

这篇文章主要为大家详细介绍了Android自定义Drawable实现圆形和圆角,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android自定义水平渐变进度条

这篇文章主要为大家详细介绍了Android自定义水平渐变进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

ToolBar中menu无法同时显示图标和文字问题的解决方法

这篇文章主要为大家详细介绍了ToolBar中menu无法同时显示图标和文字问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解React Native监听Android回退按键与程序化退出应用

这篇文章主要介绍了详解React Native监听Android回退按键与程序化退出应用的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
收藏 0 赞 0 分享

android实现上传本地图片到网络功能

这篇文章主要为大家详细介绍了android实现上传本地图片到网络功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android实现QQ登录功能

这篇文章主要为大家详细介绍了Android实现QQ登录功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android实现简单的城市列表功能

这篇文章主要为大家详细介绍了Android实现简单的城市列表功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android Animation之TranslateAnimation(平移动画)

这篇文章主要为大家详细介绍了Animation之TranslateAnimation平移动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android 中Failed to read key from keystore解决办法

这篇文章主要介绍了Android 中Failed to read key from keystore解决办法的相关资料,希望通过本能帮助到大家,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多