当前位置: 首页 > news >正文

安卓10创建文件夹失败

最近在做拍照录像功能,已经有了文件读写权限,却发现在9.0手机上正常使用,但是在安卓12系统上根本没有创建文件夹。经过研究发现,创建名称为“DCIM”的文件夹可以,别的又都不行。而且是getExternalStorageDirectory和getDataDirectory都不行。

原来在安卓10以后要用Context#getExternalFilesDir(String)这个方法,路径是

/storage/emulated/0/Android/data/com.weizu.downloader/files

而且要在Androidmainfest 里面的application添加:android:requestLegacyExternalStorage=“true”
在这里插入图片描述

下面贴出文件目录代码

 public static String getSDPath(Context context) {File sdDir = null;boolean sdCardExist = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);// 判断sd卡是否存在if (sdCardExist) {if (Build.VERSION.SDK_INT >= 29) {//Android10之后sdDir = context.getExternalFilesDir(null);} else {sdDir = Environment.getExternalStorageDirectory();// 获取SD卡根目录}} else {sdDir = Environment.getRootDirectory();// 获取跟目录}Log.i("TAG", "onCreate3: " + sdDir.toString());return sdDir.toString();}/*** 创建SD卡目录*/public static boolean isFolderExists(String strFolder) {File file = new File(strFolder);return file.exists() || file.mkdirs();}/*** 初始化文件夹子*/private void initData() {// 文件路径设置String parentPath = getSDPath(this);isFolderExists(parentPath);}

http://www.lryc.cn/news/152938.html

相关文章:

  • 文件操作(c/c++)
  • 设计模式-适配器
  • C. Queries for the Array - 思维
  • 音频——硬件拓扑
  • Oracle表索引查看方法总结(查看oracle表索引)
  • react css 污染解决方法
  • volatile 关键字 与 CPU cache line 的效率问题
  • 又一关键系统上线,理想车云和自动驾驶系统登陆OceanBase
  • SIEM(安全信息和事件管理)解决方案
  • Go 自学:map关联数组
  • c#多态(override)的使用
  • kafka 动态扩容现有 topic 的分区数和副本数
  • 【数据结构】Golang 实现单链表
  • 云服务器利用Docker搭建sqli-labs靶场环境
  • jQuery成功之路——jQuery介绍和jQuery选择器概述
  • 极限五分钟,在宝塔中用 Docker 部署升讯威在线客服系统
  • Java--静态字段与静态方法
  • 多线程的五种“打开”方式
  • 信息熵 条件熵 交叉熵 联合熵 相对熵(KL散度) 互信息(信息增益)
  • Fiddler Response私人订制
  • 【德哥说库系列】-ASM管理Oracle 19C单实例部署
  • 手写一个简单爬虫--手刃豆瓣top250排行榜
  • 【word密码】如何限制word文件中部分内容?
  • spring 自定义类型转换-ConverterRegistry
  • springboot实现发送短信验证码
  • 2024王道408数据结构P144 T18
  • 在windows下安装配置skywalking
  • 关于大模型参数微调的不同方法
  • 方法的引用第一版(method reference)
  • Android DataBinding 基础入门(学习记录)