Я пытаюсь сохранить файл, который работает в эмуляторе, но когда я подключаю свой мобильный телефон и пытаюсь сохранить файл изображения, возникает ошибка ..
Это моя MainActivity. java файл
public class MainActivity extends AppCompatActivity {
ImageView myimageView;
Button btn_save;
BitmapDrawable drawable;
Bitmap bitmap;
File sdcard;
@Override
protected void onCreate(Bundle savedInstanceState) {
ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},1);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myimageView = (ImageView)findViewById(R.id.imageview);
btn_save = (Button)findViewById(R.id.myBtn);
btn_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
drawable = (BitmapDrawable)myimageView.getDrawable();
bitmap=drawable.getBitmap();
FileOutputStream outputStream=null;
sdcard = Environment.getExternalStorageDirectory();
File directory = new File(sdcard.getAbsolutePath()+"/Demo");
directory.mkdir();
String filename = String.format("%d.jpg",System.currentTimeMillis());
File outFile = new File(directory,filename);
Toast.makeText(MainActivity.this,"Image saved",Toast.LENGTH_SHORT).show();
try {
outputStream = new FileOutputStream(outFile);
bitmap.compress(Bitmap.CompressFormat.JPEG,100,outputStream);
outputStream.flush();
outputStream.close();
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(outFile));
sendBroadcast(intent);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}
ошибка:
W/System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Linux.open(Native Method)
at libcore.io.ForwardingOs.open(ForwardingOs.java:167)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252)
at libcore.io.ForwardingOs.open(ForwardingOs.java:167)
at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7309)
W/System.err: at libcore.io.IoBridge.open(IoBridge.java:482)
... 14 more
W/System.err: java.io.FileNotFoundException: /storage/emulated/0/Demo/1594279584750.jpg: open failed: ENOENT (No such file or directory)
W/System.err: at libcore.io.IoBridge.open(IoBridge.java:496)
at java.io.FileOutputStream.<init>(FileOutputStream.java:235)
at java.io.FileOutputStream.<init>(FileOutputStream.java:186)
Мне просто нужно сохранить изображение в моей мобильной папке в формате / internal_storage / Download / image / imagename.jpg