Я хочу сохранить изображение в 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.