I try to save bitmap image on sdcard but show permission exception.
sdcard permission
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
java.io.FileNotFoundException: /storage/emulated/0/Horoscope/IMG_1569837709260.png (Permission denied)
my save bitmap method
public static void saveImage(Bitmap finalBitmap, Activity activity) {
File myDir = new File(Environment.getExternalStorageDirectory().getPath() + "/Horoscope");
myDir.mkdirs();
String fname = "IMG_" + System.currentTimeMillis() + ".png";
File file = new File(myDir, fname);
try (FileOutputStream out = new FileOutputStream(file)) {
finalBitmap.compress(Bitmap.CompressFormat.PNG, 100, out); // bmp is your Bitmap instance
MediaStore.Images.Media.insertImage(activity.getContentResolver(), file.getPath(), fname, "description");
Toast.makeText(activity, "Saved.", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}
error exception
java.io.FileNotFoundException: /storage/emulated/0/Horoscope/IMG_1569837709260.png (Permission denied)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:287)
at java.io.FileOutputStream.<init>(FileOutputStream.java:223)
at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
at com.example.opencv.utils.Constant.saveImage(Constant.java:378)
at com.example.opencv.activity.ForeignerMakerResultActivity$3.onClick(ForeignerMakerResultActivity.java:106)
at android.view.View.performClick(View.java:6319)
at android.view.View$PerformClick.run(View.java:24955)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:192)
at android.app.ActivityThread.main(ActivityThread.java:6760)
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:826)