Android получить изображение во вторичном хранилище - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь получить изображение из вторичного хранилища телефона.

public void downloadImage(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)
    {    
    }
}

Когда я запускаю с отладкой, почему я получаю эту ошибку, и он также не получает файл.

Ошибка в:

myImage.compress (Bitmap.CompressFormat.JPEG, 85, out);

В файле манифеста:

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

1 Ответ

0 голосов
/ 21 декабря 2018
String photoPath = Environment.getExternalStorageDirectory()+"/photo.jpg";

и получите растровое изображение, используя код ниже.Photo.jpg - это имя изображения, которое вы хотите прочитать.

BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(photoPath, options);

Вы также можете использовать библиотеку изображений Picasso

Picasso.with(context).load("file:///android_asset/DvpvklR.png").into(imageView2);
Picasso.with(context).load(new File(...)).into(imageView3);
...