Я создаю приложение, которое делает фотографию, а затем отправляет ее по электронной почте. Для этого я должен сохранить его в памяти устройства. Проблема, которую я получаю, состоит в том, что, хотя приложение пишет мой файл, оно вылетает в этой конкретной строке кода:
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(Environment.getExternalStorageDirectory()));
ниже у вас есть вся функция и код:
private void takePicture(){
File outputFile = new File(Environment.getExternalStorageDirectory(), "image.jpg");
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(Environment.getExternalStorageDirectory()));
startActivityForResult(intent, 1);
}
public void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode == CAMERA_PIC_REQUEST && resultCode == Activity.RESULT_OK){
picture = (Bitmap) data.getExtras().get("data");
pictureView.setImageBitmap(picture);
ContentValues values = new ContentValues();
values.put(Images.Media.TITLE, "Picture");
values.put(Images.Media.BUCKET_ID, "picture_ID");
values.put(Images.Media.DESCRIPTION, "");
values.put(Images.Media.MIME_TYPE, "image/jpeg");
pictureUri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
OutputStream outstream;
try{
outstream = getContentResolver().openOutputStream(pictureUri);
picture.compress(Bitmap.CompressFormat.JPEG, 100, outstream);
outstream.close();
}catch(FileNotFoundException e){
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Если я прокомментирую эту строку, приложение больше не падает. Мне нужно получить URI фотографии, чтобы я мог отправить ее по электронной почте.
Любая помощь от вас, ребята, более опытная, будет принята с благодарностью.