热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在API级别29java中不推荐使用Environment.getExternalStorageDirectory()

在API级别29java中不推荐使用Environment.getExternalStorageD

使用getExternalFilesDir(), getExternalCacheDir(), orgetExternalMediaDirs()(methods on Context)
代替Environment.getExternalStorageDirectory().

或者,修改mPhotoEditor为能够使用 a Uri,然后:


  • 用于actION_CREATE_DOCUMENT获取Uri用户选择的位置,或


  • 使用MediaStoreContentResolverinsert()Uri特定类型的媒体(例如,图像)获取 a - 请参阅此示例应用程序,该应用程序演示如何从网站下载 MP4 视频


另外,请注意,您的Uri.fromFilewithactION_MEDIA_SCANNER_SCAN_FILE应该在 Android 7.0+
上与FileUriExposedException. 在 Android Q
上,只有MediaStore/insert()选项会让你的内容被MediaStore快速索引。

请注意,如果您targetSdkVersion的版本低于
30,您可以在清单android:requestLegacyExternalStorage="true"的元素中选择退出 Android 10 和 11
上的这些“范围存储”更改。 这不是一个长期的解决方案 ,因为如果您通过 Play 商店(可能还有其他地方)分发您的应用程序,您将需要在 2021
年的某个时候达到 30 岁或更高。 __targetSdkVersion





推荐阅读
author-avatar
刘刘刘刘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有