本篇仅限自己记录一下Android兼容创建外部存储文件夹,无法从根本上兼容处理,能解决问题
1.android:requestLegacyExternalStorage="true"
2.将targetSdkVersion改成28,包括compileSdkVersion,buildToolsVersion
也希望能帮助到各位
假如一定要最新版,例如targetSdkVersion30-31,那么需要新增完全访问权限
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
延伸:
判断的话这样:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && !Environment.isExternalStorageManager()) {}
跳转的话这样:
val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION) intent.data = Uri.parse("package:" + activity.packageName) activity.startActivityForResult(intent, 1)