Я хочу получить и сохранить фотографию с камеры Android. Это код:EACCES (Разрешение отказано) в использовании камеры Android
public void avviaFotocamera(View v){
this.launchCamera();
}
private void launchCamera() {
try {
mOutputFile = new File(getExternalStorageDirectory(), "temp.jpg");
Intent intentCamera = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intentCamera.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(mOutputFile));
startActivityForResult(intentCamera, CAMERA_REQUEST);
} catch (Exception e) {
Toast t = Toast.makeText(this, "Si è verificato un errore durante l'acquisizione dell'immagine:\n" + e.toString(), Toast.LENGTH_LONG);
t.show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == CAMERA_REQUEST) {
try {
Bitmap datiFoto = android.provider.MediaStore.Images.Media.getBitmap(this.getContentResolver(),
Uri.fromFile(mOutputFile));
saveBitmap(datiFoto);
mOutputFile.delete();
} catch (Exception e) {
Toast t = Toast.makeText(this, "Si è verificato un errore durante l'acquisizione dell'immagine:\n" + e.toString(), Toast.LENGTH_LONG);
t.show();
}
}
}
private void saveBitmap(Bitmap datiFoto) {
try {
//Nome del file da assegnare all'immagine
final String fileName = "prova.jpg";
FileOutputStream out = new FileOutputStream(getExternalStorageDirectory()+fileName);
datiFoto.compress(Bitmap.CompressFormat.JPEG, 90, out);
} catch (Exception e) {
Toast t = Toast.makeText(this, "Si è verificato un errore durante il salvataggio dell'immagine:\n" + e.toString(), Toast.LENGTH_LONG);
t.show();
e.printStackTrace();
}
}
однако я получаю эту ошибку: java.io.FileNotFoundException: /prova.jpg: Не удалось открыть: EACCES (нет прав). Это проявляется, когда я добавить все необходимые разрешения:
<uses-sdk
android:maxSdkVersion="22"
android:minSdkVersion="15"
android:targetSdkVersion="15" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="22" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="22" />
<uses-permission android:name="android.permission.SET_DEBUG_APP" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.javapapers.android.maps.path.permission.MAPS_RECEIVE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
Как я могу это исправить ??