Android 11 的图像权限库
Image permission libraries for Android 11
因为 Google 已经更改了 Image/Media 权限的机制,就像上次 Google 为棒棒糖所做的那样。
现在,可以轻松完成此任务的旧库不再适用于 Android 11 台设备。
Android 11 的新 Image/Media 权限库是什么?
在清单中写入此权限
<uses-permission
android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
android:minSdkVersion="30" />
然后将此代码添加到您的 activity
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
requestPermission()
}
}
fun ManageStoragePermission() {
alertDialog = alertdialog.builder(this@mainactivity).create()
alertDialog.setMessage("You need to Allow Manage External files Permission")
alertDialog.setButton(
AlertDialog.BUTTON_POSITIVE,
"OK"
) { dialog, which -> intentToPermisn() }
alertDialog.setButton(
AlertDialog.BUTTON_NEGATIVE,
"Cancel"
) { dialog, which -> this.finish() }
alertDialog.show()
}
private fun intentToPermisn() {
val intent = Intent()
intent.action = Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION
startActivity(intent)
manage_check = true
alertDialog.dismiss()
}
因为 Google 已经更改了 Image/Media 权限的机制,就像上次 Google 为棒棒糖所做的那样。 现在,可以轻松完成此任务的旧库不再适用于 Android 11 台设备。
Android 11 的新 Image/Media 权限库是什么?
在清单中写入此权限
<uses-permission
android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
android:minSdkVersion="30" />
然后将此代码添加到您的 activity
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
requestPermission()
}
}
fun ManageStoragePermission() {
alertDialog = alertdialog.builder(this@mainactivity).create()
alertDialog.setMessage("You need to Allow Manage External files Permission")
alertDialog.setButton(
AlertDialog.BUTTON_POSITIVE,
"OK"
) { dialog, which -> intentToPermisn() }
alertDialog.setButton(
AlertDialog.BUTTON_NEGATIVE,
"Cancel"
) { dialog, which -> this.finish() }
alertDialog.show()
}
private fun intentToPermisn() {
val intent = Intent()
intent.action = Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION
startActivity(intent)
manage_check = true
alertDialog.dismiss()
}