解決華為手機圖片選擇無效及產生的open failed: EACCES (Permission denied)錯誤

來源:互聯網
上載者:User

標籤:.com   原來   action   分享圖片   photo   androi   ora   denied   無法   

在華為手機上調起圖片選擇時原來的效果如下

原來的代碼是

 Intent intent = new Intent(); intent.setAction(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); startActivityForResult(intent, CODE_PHOTO_REQUEST);

當使用ACTION_GET_CONTENT時,直接點擊“圖片”裡的照片返回的uri = content://com.android.providers.media.documents/document/image%3A164287,而點擊“圖庫”的照片返回的uri = content://media/external/images/media/164287,選擇“圖片”中的照片去截取時無效或提示此圖片無法載入。

後將action改為ACTION_PICK:

 Intent intent = new Intent(); intent.setAction(Intent.ACTION_PICK); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*"); startActivityForResult(intent, CODE_PHOTO_REQUEST);

介面效果為:

這時候選擇的圖片返回的URI就都是content://media/external/images/media/164287格式的,都可以跳轉裁剪介面

但是在裁剪後報出open failed: EACCES (Permission denied)的錯誤,說是由於沒有READ_EXTERNAL_STORAGE(或WRITE_EXTERNAL_STORAGE)的許可權,但是在資訊清單檔中 已經加入了這兩項許可權,最後找到是因為應用的許可權管理中禁用了儲存許可權,在跳轉相簿的代碼前設定開啟即可

    public static void verifyStoragePermissions(Activity activity) {        // Check if we have write permission        int permission = ActivityCompat.checkSelfPermission(activity,                Manifest.permission.WRITE_EXTERNAL_STORAGE);//缺少什麼許可權就寫什麼許可權        if (permission != PackageManager.PERMISSION_GRANTED) {            // We don‘t have permission so prompt the user            ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE,                    REQUEST_EXTERNAL_STORAGE);        }    }

 

解決華為手機圖片選擇無效及產生的open failed: EACCES (Permission denied)錯誤

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.