android 拋出FileNotFoundException異常

大家都知道,Android 6.0中,某些權限屬於Protected Permission,例如:讀寫手機存儲權限,僅僅在AndroidManifest.xml中申明是無法真正獲取到權限的,打開手機的權限管理頁面,我們可以看見,讀寫手機存儲權限欄是一個問號,這意味着App並未獲取到該權限。
這是訪問手機存儲時,會報出類似下面的錯誤:
     java.io.FileNotFoundException:*** (Permission denied)
有一個簡單粗暴的方法,就是在App安裝完成之後,手動在手機上將該權限改爲允許。但是這種方法太low了,給用戶帶來的體驗也很差。我們希望通過代碼動態的獲取此權限,用戶只需要在第一次安裝時,在彈出的窗口點擊一下允許,就可以啦。
實現代碼:
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);
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章