Не удалось сохранить фильтр в мобильную папку - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь сохранить файл, который работает в эмуляторе, но когда я подключаю свой мобильный телефон и пытаюсь сохранить файл изображения, возникает ошибка ..

Это моя 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...