IllegalArgumentException:Unknown URL content 錯誤的原因
在通過《android第一行程式碼》這本書學習時,在第七章自定義內容提供器時碰見了這樣一個問題
java.lang.IllegalArgumentException: Unknown URL content://com.example.databasetest.provider
找了很久不清楚是什麼原因,後來偶然的換了個Android版本為7.0的模擬器,程式莫名其妙好了,
想到或許是許可權的問題,然後去百度,找了下官方文件,最後問題算是解決了一般。(難受)記錄下解決的幾個辦法。
1.檢查URI 是否自己寫錯了
android:authorities="com.example.databasetest.provider"
兩個專案中的這個名稱要一致
2.provider中的兩個標籤設定為true
<provider
android:name=".DatabaseProvider"
android:authorities="com.example.databasetest.provider"
android:exported="true"
android:enabled="true"
android:grantUriPermissions="true">
</provider>
android:exported=“false” 表示不允許外部應用訪問,需要設定為true
上述兩個基本不是啥問題,
3.application標籤中新增一項
android:requestLegacyExternalStorage="true"
這行程式碼解決了我的問題,原因的話,在android版本10中引入了分割槽儲存這個概念,也叫沙盒儲存機制。
那麼什麼是沙盒儲存機制呢?
沙盒機制是一種安全機制,用於防止應用讀取其他應用的資料。
- 每個應用程式都有自己的儲存空間。
- 應用程式不能翻過自己的目錄,去訪問公共目錄。
- 應用程式請求的資料都要通過許可權檢測,不符合要求不會被放行。
而上面哪行程式碼就是設定使用原有儲存機制的。
部分內容來自於https://blog.csdn.net/honjane/article/details/94288585
4.建立低版本的模擬器(<= 9,api<= 28)
這個原理和3的原理一致
好,重點來了這個方法只對Android10及以下有用,Android11是沒用的(吐血),目前還未找到解決方法,希望有大佬能解決。。。
內容如有錯誤,請指正,不甚感激。
相關文章
- DataTables 1.10錯誤: requested unknown parameter
- Bug:java.lang.IllegalArgumentException: unknown document format for file:JavaExceptionORM
- 報錯:net::err_unknown_url_scheme的解決辦法Scheme
- Http failure response 0 Unknown error 錯誤分析HTTPAIError
- 常見的授權錯誤及原因
- Android之NDK開發錯誤 error: unknown type name 'JNIEXPORT'AndroidErrorExport
- 記錄一個 Nginx-FastCGI-"Primary script unknown" 錯誤NginxAST
- 伺服器內部錯誤500的原因伺服器
- 修正織夢CMS的RSS檔案的URL錯誤
- c++連結錯誤原因整理C++
- 如何解決 Nginx 與 FastCGI 通訊錯誤 "Primary script unknown"?NginxAST
- Oracle的TNS-12502 錯誤原因及解決Oracle
- swagger啟動錯誤Unable to infer base url.Swagger
- 大多數 SSL 證書籤發錯誤的主要原因是軟體錯誤
- requests.exceptions.SSLError……Max retries exceeded with url錯誤求助!!!ExceptionError
- 代理出現304錯誤是什麼原因?
- Linux環境下段錯誤的產生原因及除錯方法小結Linux除錯
- Gradle專案Build的時候,頻繁報Unknown host 'jcenter.bintray.com' 錯誤GradleUI
- 資料庫連線錯誤的原因及解決方法資料庫
- 伺服器出現遠端內部錯誤的原因伺服器
- 海外常見的http錯誤程式碼原因與解決HTTP
- 傳送請求時,url 出現亂碼錯誤
- 爬蟲代理ip出現401錯誤原因是什麼?如何修復錯誤?爬蟲
- No bean named 'xxx' is defined錯誤,原因及解決方案Bean
- ORA-32701錯誤原因分析及處理方法
- ORA-39006錯誤原因及解決辦法
- 解決java.lang.IllegalArgumentException: 'Content-Type' cannot contain wildcard type '*'異常(真實有效)...JavaExceptionAI
- Kubelet 錯誤日誌 broken pipe 和 connection reset by peer 的原因分析
- Bmob插入資料顯示Error400錯誤的原因剖析Error
- SAP Fiori應用裡出現http request錯誤的原因分析HTTP
- 錯誤:線粒體活性氧是 DNA 損傷的原因
- 動態建立 @ViewChild 導致執行時錯誤的原因分析View
- 伺服器出現500錯誤的原因和解決辦法伺服器
- [mac pip錯誤]Can't connect to HTTPS URL because the SSL module is not availableMacHTTPAI
- QTCreator 除錯:unknown debugger type “No engine“QT除錯
- MySQL在刪除表時I/O錯誤原因分析MySql
- is java.lang.NoClassDefFoundError: org/springframework/dao/support/DaoSupport錯誤原因JavaErrorSpringFramework
- 全球代理出現401錯誤原因是什麼?