Когда i Время выполнения Программа выдачи исключения по данному пути недоступна.Это реализация моего основного класса активности
Платформа Android включает поддержку различных камер и функций камеры, доступных на устройствах, что позволяет вам захватывать изображения и видео в ваших приложениях.В этом документе обсуждается быстрый и простой подход к захвату изображений и видео, а также описывается продвинутый подход для создания пользовательских настроек камеры для ваших пользователей.
public class MainActivity extends AppCompatActivity {
private static final int CAMERA_REQUEST_CODE = 1023;
ImageView mImageView;
Button mButton;
Button save;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImageView = (ImageView)findViewById(R.id.captureView);
mButton =(Button)findViewById(R.id.captureBtn);
save = (Button)findViewById(R.id.saveBtn);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent camIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(camIntent,CAMERA_REQUEST_CODE);
}
});
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
private void SaveImage(Bitmap finalBitmap) {
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/DCIM/");
myDir.mkdir();
Random generator = new Random();
int n = 10000;
n = generator.nextInt(n);
String fname = "Image-"+ n +".jpg";
File file = new File (myDir, fname);
if (file.exists ()) file.delete ();
try {
FileOutputStream out = new FileOutputStream(file);
finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==CAMERA_REQUEST_CODE){
Bitmap bm = (Bitmap)data.getExtras().get("data");
SaveImage(bm);
mImageView.setImageBitmap(bm);
}
}
}
Это исключение, которое я получил во время выполнения
W/System.err: java.io.FileNotFoundException: /storage/emulated/0/DCIM/Image-8834.jpg (Permission denied)
W/System.err: at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:287)
at java.io.FileOutputStream.<init>(FileOutputStream.java:223)
W/System.err: at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
at com.project.melan.cameraapp.MainActivity.SaveImage(MainActivity.java:62)
at com.project.melan.cameraapp.MainActivity.onActivityResult(MainActivity.java:79)
at android.app.Activity.dispatchActivityResult(Activity.java:7290)
W/System.err: at android.app.ActivityThread.deliverResults(ActivityThread.java:4267)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4315)
at android.app.ActivityThread.-wrap19(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1647)
at android.os.Handler.dispatchMessage(Handler.java:106)
W/System.err: at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6518)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Application terminated.
Спасибо, если кто-нибудь поможет решить это исключение.