在仿真器(我用genymotion)它工作正常,但是當我在真實設備上運行它(我的手機是華碩ZenFone激光5.0)拋出一個FileNotFoundException異常FileNotFoundException異常:打開失敗:EACCES(拒絕)
java.io.FileNotFoundException:/storage/emulated/0/cam20160926_075819.jpg:打開失敗:EACCES(拒絕授權)
imgBitmap = MediaStore.Images.Media.getBitmap(CR,selectedImage);
這裏的方法onActivityResult()
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode){
case CAMERA_REQUEST:
if (resultCode == Activity.RESULT_OK){
Uri selectedImage = imageUri;
getActivity().getContentResolver().notifyChange(selectedImage, null);
ContentResolver cr = getActivity().getContentResolver();
Bitmap imgBitmap;
try {
imgBitmap = MediaStore.Images.Media.getBitmap(cr, selectedImage);
accountPhoto.setImageBitmap(imgBitmap);
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(getActivity().getApplicationContext(), "Something went wrong while taking a photo", Toast.LENGTH_LONG).show();
Log.e("Camera", e.toString());
}
}
}
}
我讀到這個EACCES一些相關的問題和解決方案,而且似乎這個問題是在我的權限:
<uses-feature android:name="android.hardware.camera2" android:required="true"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
我錯過什麼?感謝您的回覆
你使用哪個版本的SDK和android? –
我在棉花糖6.0現在api lvl 23.和我的應用程序的最小sdk版本是api lvl 18 –
所以我不能在這裏看到您的權限請求關於讀取和寫入外部存儲? –