diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 2f46f6b..950c85b 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,12 @@ - + + + "gif" else -> throw IllegalArgumentException("$mimeType is not supported") } + + /** + * 在 Android 8/8.1系统上,手动授予所有app读取uri权限 + * @param uri + * @see chromium 中的 grantUriPermission + */ + private fun grantUriPermissionWhenNeed(uri: Uri) { + if (Build.VERSION.SDK_INT !in arrayOf(Build.VERSION_CODES.O, Build.VERSION_CODES.O_MR1)) { + return + } + + @Suppress("DEPRECATION") + MyApplication.applicationContext.packageManager.getInstalledPackages(0).forEach { + MyApplication.applicationContext.grantUriPermission( + it.packageName, + uri, + Intent.FLAG_GRANT_READ_URI_PERMISSION + ) + } + + } } \ No newline at end of file