![](/img/trans.png)
[英]Why android:requestLegacyExternalStorage=“true” not working in Android 10 - API 29
[英]Getting RecoverableSecurityException while deleting file on Android API 29 and 30 with requestLegacyExternalStorage = true in AndroidManifest
下面是 AndroidManifest 文件代碼
<application
android:name=".application.SomeApp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:largeHeap="true"
android:networkSecurityConfig="@xml/network_config"
android:hardwareAccelerated="true"
android:resizeableActivity="true"
android:requestLegacyExternalStorage="true"
android:theme="@style/THEME_DEFAULT_BLUE_ACCENT">
刪除文件代碼
val result = CommonApp.getContext().contentResolver.delete(fileForAction.uri,
"${MediaStore.MediaColumns._ID} = ?", arrayOf(fileForAction.id.toString()))
if(result > 0){ successDeleted++ } else { failedDeleted++ }
在上面的代碼中 fileForAction.uri 是特定的視頻文件 uri 示例:“content://media/external/video/media/23”
我已經在 Android API 29 級和 30 級上對此進行了測試。 但是獲取 android.app.RecoverableSecurityException: com.packagename.someapp 無法訪問 content://media/external/video/media/23
正如我在本文檔中閱讀的https://developer.android.com/training/data-storage/shared/media#remove-item
如果作用域存儲不可用或未啟用,我們可以刪除其他應用程序擁有的文件,而無需處理 RecoverableSecurityException。
為什么當我選擇通過在 AndroidManifest 中提供 android:requestLegacyExternalStorage = true 來禁用范圍存儲時刪除文件時出現 RecoverableSecurityException
您不是在刪除文件。 您正在從MediaStore
中刪除代表一段內容的條目。 android:requestLegacyExternalStorage = "true"
與從MediaStore
中刪除條目無關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.