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是沒用的(吐血),目前還未找到解決方法,希望有大佬能解決。。。
內容如有錯誤,請指正,不甚感激。
相關文章
- Bug:java.lang.IllegalArgumentException: unknown document format for file:JavaExceptionORM
- 報錯:net::err_unknown_url_scheme的解決辦法Scheme
- Http failure response 0 Unknown error 錯誤分析HTTPAIError
- 【Spring】BeanUtils.copyPorperties()的IllegalArgumentException原因分析SpringBeanException
- 常見的授權錯誤及原因
- unknown software exception應用程式錯誤的解決辦法Exception
- nginx FastCGI錯誤Primary script unknown解決辦法NginxAST
- 伺服器內部錯誤500的原因伺服器
- Python 編碼錯誤的本質原因Python
- 修正織夢CMS的RSS檔案的URL錯誤
- c++連結錯誤原因整理C++
- 記錄一個 Nginx-FastCGI-"Primary script unknown" 錯誤NginxAST
- mysql還原資料庫遇到Unknown command 錯誤MySql資料庫
- linux下ping: unknown host錯誤解決方案Linux
- 錯誤 330 (net::ERR_CONTENT_DECODING_FAILED):未知錯誤解決辦法AI
- ora-371錯誤的原因和解決方法
- 如何解決 Nginx 與 FastCGI 通訊錯誤 "Primary script unknown"?NginxAST
- Android之NDK開發錯誤 error: unknown type name 'JNIEXPORT'AndroidErrorExport
- shareSDK分享 錯誤:“ 尚未設定微信的URL Scheme”Scheme
- 大多數 SSL 證書籤發錯誤的主要原因是軟體錯誤
- requests.exceptions.SSLError……Max retries exceeded with url錯誤求助!!!ExceptionError
- ORACLE錯誤原因查詢表ORA-0Oracle
- 安裝RAC,Actual Result: Unknown Host Exception has Occurred錯誤解決Exception
- 海外常見的http錯誤程式碼原因與解決HTTP
- 伺服器出現遠端內部錯誤的原因伺服器
- 應用伺服器出現錯誤的原因簡析伺服器
- 資料庫連線錯誤的原因及解決方法資料庫
- Rails-找不到外來鍵的原因(嚴肅的錯誤)AI
- 傳送請求時,url 出現亂碼錯誤
- swagger啟動錯誤Unable to infer base url.Swagger
- 如何解決url傳參導致錯誤問題
- 代理出現304錯誤是什麼原因?
- Oracle安裝怪錯誤原因來自哪兒?Oracle
- Linux環境下段錯誤的產生原因及除錯方法小結Linux除錯
- 最新解決msnmsgr.exe-應用程式錯誤 unknown software exceptionException
- 一個不知道產生錯誤原因的javascript的問題。JavaScript
- Oracle的TNS-12502 錯誤原因及解決Oracle
- Bmob插入資料顯示Error400錯誤的原因剖析Error