AndroidStudio最近更新到了4.0,在写demo测试的时候发现无论怎么动态申请权限,创建文件夹的时候总是返回false,看了一下源码的相关注释结合网上的资料,好像是说为了用户的隐私还是神马不允许直接在根目录创建文件夹了!

 String[] permission = {Manifest.permission.WRITE_EXTERNAL_STORAGE};        int granted = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);        if (granted != PackageManager.PERMISSION_GRANTED) {            ActivityCompat.requestPermissions(this, permission, 10086);        }

网上的人说只要在oncreate 里面去申请权限就可以!!

   @Override    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {        super.onRequestPermissionsResult(requestCode, permissions, grantResults);        if (requestCode == 10086 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {            requestPermissions();        }    }    private void requestPermissions() {        Log.i(TAG, "path = : " + SDCardUtils.getAppCachePath());        boolean create = FileUtils.createOrExistsDir(SDCardUtils.getAppCachePath());        Log.i(TAG, "创建文件夹" + create);    }

哎,真是不理解这脑回路啊,我居然还信了。在哪里申请权限不都一样嘛!

正解:

android:requestLegacyExternalStorage="true"

 

测试了好几遍,都可以正常生成文件夹了。

更多相关文章

  1. Android中屏幕适配和样式主题的使用
  2. Android:dagger2让你爱不释手-重点概念讲解、融合篇
  3. [5] Zygote
  4. recovery 升级'@/cache/recovery/block.map' failed错误问题
  5. Android(安卓)模拟器 Atom-x86 cpu加速
  6. Android获取文件夹路径 /data/data/
  7. eclipse 创建android项目 无法启动
  8. Android(安卓)ListView的创建以及数据适配器的使用
  9. Android(安卓)sdk 安装后 找不到adb.exe问题解决方法

随机推荐

  1. Android中轴旋转特效实现,制作别样的图片
  2. android基础之ProgressDiaLog使用:进度条
  3. android Editview中加小图标或者文字实现
  4. 在android中运行java main方法
  5. 使用线程设置后台进程以处理Android中的
  6. [Android Pro] Android 打包流程
  7. Android 两种制作圆形/圆角图片的方法
  8. Android - 在一个应用程序中启动另外一个
  9. Kotlin控制流、返回与跳转
  10. Android添加USB连接提示音(SettingsProvid