Android java.io.FileNotFoundException:*** (Permission denied)

自從離開上海來到杭州以後,陸續接觸了Android,Python,C++,OpenCV,最爲一個新人來講,一路上遇到了不少坑,幸運的是 這互聯網的強大(大傻子我仍是蠻喜歡的哈),一路填填補補總算走了下來。 一直就有把本身這幾個月來遇到的問題記錄下來的想法,苦於沒有時間(其實就是本身太懶),業精於勤荒於嘻,就以這個剛剛解決的問題做爲開始吧。java

接下來是正文啦~~~ 你們都知道,Android 6.0中,某些權限屬於Protected Permission,例如:讀寫手機存儲權限,僅僅在AndroidManifest.xml中申明是沒法真正獲取到權限的,打開手機的權限管理頁面,咱們能夠看見,讀寫手機存儲權限欄是一個問號,這意味着App並未獲取到該權限。 這是訪問手機存儲時,會報出相似下面的錯誤: java.io.FileNotFoundException:*** (Permission denied) 有一個簡單粗暴的方法,就是在App安裝完成以後,手動在手機上將該權限改成容許。可是這種方法太low了,給用戶帶來的體驗也不好。咱們但願經過代碼動態的獲取此權限,用戶只須要在第一次安裝時,在彈出的窗口點擊一下容許,就能夠啦。 實現代碼:ui

if (Build.VERSION.SDK_INT >= 23) {
        int REQUEST_CODE_CONTACT = 101;
        String[] permissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE};
        //驗證是否許可權限
        for (String str : permissions) {
        if (this.checkSelfPermission(str) != PackageManager.PERMISSION_GRANTED) {
             //申請權限
                this.requestPermissions(permissions, REQUEST_CODE_CONTACT);
            }
        }
    }

PS:其它的權限小夥伴們就能夠以此類推啦。this

相關文章
相關標籤/搜索