Почему я получаю исключение для файла notfound, хотя мой файл находится в правильном месте? - PullRequest
1 голос
/ 17 апреля 2019

Следующий мой код работал раньше. Но после того, как я недавно отформатировал свой мобильный телефон, он больше не работает. Пожалуйста, помогите мне с этим.

Код для установки пути:

 path = Environment.getExternalStorageDirectory().getPath() + "/IMG-20190324-WA0000.jpg";
 try {
        m.addAttachment(path);

        if(m.send()) {
            Toast.makeText(context, "Email was sent successfully :)", Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(context, "Email was not sent :(", Toast.LENGTH_LONG).show();
        }
    } catch(Exception e) {
        //Toast.makeText(context, "There was a problem sending the email.", Toast.LENGTH_LONG).show();
        Log.e("MailApp", "Could not send email", e);
    }

Я получаю следующую ошибку:

E/MailApp: Could not send email
javax.mail.MessagingException: IOException while sending message;
  nested exception is:
    java.io.FileNotFoundException: /storage/emulated/0/IMG-20190324-WA0000.jpg: open failed: EACCES (Permission denied)

Мои права на манифест:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Файл находится в том же месте, как и раньше, тогда почему код не может его прочитать?

Скриншот расположения файла:

1 Ответ

1 голос
/ 17 апреля 2019

Все, что мне нужно было сделать, это перейти в настройки устройства -> приложения -> мое приложение -> включить разрешение хранилище . Благодарим @Pklumpp за помощь

...