我想将图像保存到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,out);
它没有保存。
这是从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。我尝试了多种类型的SdCard,但它不起作用。
我正在使用android 5.1.1。