Android permission denied原因歸納和解決辦法
下面是我在學(xué)習(xí)android開(kāi)發(fā)時(shí)遇到的permission denied的問(wèn)題和解決辦法
1. net: ERR_CACHE_MISS
解決方法
在AndroidManifest.xml中加入 permission如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.xxx"> <uses-permission android:name="android.permission.INTERNET"/> ... </manifest>
2. 讀取寫(xiě)入external storage(手機(jī)中的文件)
解決方法
首先,同樣需要在AndroidManifest.xml中加入 permission
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.xxx"> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <!-- 下面這行代碼也非常重要,千萬(wàn)不要忘記加--> <application ... android:requestLegacyExternalStorage="true">...</application> </manifest>
其次還需要使得這個(gè)app獲得 存儲(chǔ)權(quán)限可以在手機(jī) ->設(shè)置 -> 對(duì)應(yīng)app 中進(jìn)行設(shè)置,允許app讀取手機(jī)內(nèi)存(最簡(jiǎn)單的方法)。
更好的方法(正規(guī)的方法)是在打開(kāi)app時(shí),檢查app是否有權(quán)限讀取內(nèi)存。如果沒(méi)有的話,提示用戶開(kāi)啟 可以寫(xiě)一個(gè)snackbar指向 這個(gè)app的settings。代碼如下:
/** * 檢查app是否擁有存儲(chǔ)權(quán)限,如果沒(méi)有的話,提醒用戶開(kāi)啟權(quán)限 */ public void handlePermission() { // 檢查是否開(kāi)啟 Manifest.permission.xxx // (xxx 為權(quán)限,根據(jù)自己需求添加) if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { Toast.makeText(this, "Permission has been allowed", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "ask for permission",Toast.LENGTH_SHORT).show(); // 請(qǐng)求權(quán)限 ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1); Log.d(TAG, "handlePermission: has aksed"); } }
此函數(shù)可以根據(jù)自己需求放到 onCreate() method里面或者,listener() 里面。例如,如果放到onCreate() 里,打開(kāi)此頁(yè)面時(shí)會(huì)提醒用戶開(kāi)啟對(duì)應(yīng)權(quán)限。
到此這篇關(guān)于Android permission denied原因歸納和解決辦法的文章就介紹到這了,更多相關(guān)Android permission denied內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android判斷手機(jī)是否是小米MIUI系統(tǒng)的方法
這篇文章主要介紹了Android判斷手機(jī)是否是小米MIUI系統(tǒng)的方法的相關(guān)資料,需要的朋友可以參考下2016-02-02Android?Camera開(kāi)發(fā)實(shí)現(xiàn)可復(fù)用的相機(jī)組件
這篇文章主要為大家詳細(xì)介紹了Android?Camera開(kāi)發(fā)實(shí)現(xiàn)可復(fù)用的相機(jī)組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05Android購(gòu)物分類效果實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Android購(gòu)物分類效果的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11Android實(shí)現(xiàn)自定義dialog的代碼
這篇文章主要介紹了Android實(shí)現(xiàn)自定義dialog的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11Android?XML數(shù)據(jù)解析要點(diǎn)介紹
這篇文章主要為大家介紹了Android?XML數(shù)據(jù)解析要點(diǎn)介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Android開(kāi)發(fā)之splash界面下詳解及實(shí)例
這篇文章主要介紹了 Android開(kāi)發(fā)之splash界面下詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-03-03