Android(安卓)29 创建文件夹失败
16lz
2021-01-26
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"
测试了好几遍,都可以正常生成文件夹了。
更多相关文章
- Android中屏幕适配和样式主题的使用
- Android:dagger2让你爱不释手-重点概念讲解、融合篇
- [5] Zygote
- recovery 升级'@/cache/recovery/block.map' failed错误问题
- Android(安卓)模拟器 Atom-x86 cpu加速
- Android获取文件夹路径 /data/data/
- eclipse 创建android项目 无法启动
- Android(安卓)ListView的创建以及数据适配器的使用
- Android(安卓)sdk 安装后 找不到adb.exe问题解决方法