作者:刘刘刘刘 | 来源:互联网 | 2023-10-12 12:13
使用getExternalFilesDir()
, getExternalCacheDir()
, orgetExternalMediaDirs()
(methods on Context
)
代替Environment.getExternalStorageDirectory()
.
或者,修改mPhotoEditor
为能够使用 a Uri
,然后:
另外,请注意,您的Uri.fromFile
withactION_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