Студия Android - Как сохранить изображение на SECONDARY_STORAGE - PullRequest
0 голосов
/ 15 декабря 2018

Я хочу сохранить изображение в SECONDARY_STORAGE (не сохранено в памяти телефона, что Android понимает как SdCard), это код:

В файле manifests:

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

Java-код:

public void Clickdownload(View v) {

    Bitmap myImage = GetImageBitmapFromUrl();
    String path = System.getenv("SECONDARY_STORAGE") + "/";
    OutputStream out = null;
    try {
        File file = new File(path, "nameImage.jpg");
        out = new FileOutputStream(file);
        myImage.compress(Bitmap.CompressFormat.JPEG, 85, out);
        out.flush();
        out.close();
    } catch (Exception e) {

    }

}

Когда я запускаю с Debug, я получаю эту ошибку

Ошибка при:
myImage.compress (Bitmap.CompressFormat.JPEG, 85, из);

и он не сохранился.

Это код для чтения изображения с SD-карты:

String path =System.getenv("SECONDARY_STORAGE")+"/myImage/";

File imgFile = new File(path);
if(imgFile.exists())
{
    Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
    ImageView imageView=(ImageView)findViewById(R.id.imageView);
    imageView.setImageBitmap(myBitmap);
}

Когда я использую:

String path = Environment.getExternalStorageDirectory().toString();

Я могу сохранить изображение в памяти телефона.

Я могу сохранять изображения с камеры и копировать изображения с компьютера на карту памяти SdCard, поэтому я не думаю, что это Read only SdCard.Я пробовал со многими типами SdCards, но это не работает.Я использую Android 5.1.1.

...