我的應用程序涉及從設備的圖庫中選擇圖像,然後將該圖像的較小版本保存到SD卡上的文件夾。我遇到的問題是有些用戶報告說圖像沒有保存到文件夾中。然而,大多數用戶報告說,該應用程序工作正常,我不能告訴這些其他幾個用戶正在發生什麼。到目前爲止,據報道這些問題的設備如下:華爲T-Mobile myTouch,三星GT-S5830i,HTC Evo 4G和三星Galaxy S2。我自己有一個摩托羅拉Atrix 2,我沒有這樣的問題。將圖像保存到所有設備上的SD卡
我的清單已經有標籤了。我的大部分代碼都來自其他的stackoverflow解決方案,從圖庫中獲取圖像,然後將其保存到SD卡。
從庫獲取圖像:
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK)
{
switch(requestCode)
{
case SELECT_IMAGE:
image_dir = getPath(data.getData());
Bitmap myBitmap = decodeFile(new File(image_dir));
resizedBitmap = Bitmap.createScaledBitmap(myBitmap, (int)(myBitmap.getWidth()/2), (int)(myBitmap.getHeight()/2), true);
break;
}
}
else
{
image_dir = "None";
}
}
將圖像保存到SD卡:
OutputStream fOut = null;
File file = new File(Environment.getExternalStorageDirectory()+"/MyApp",imgname+".jpg");
fOut = new FileOutputStream(file);
resizedBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
fOut.flush();
fOut.close();
而這一切似乎迎刃而解對於大多數用戶,但對於一些用戶的圖像ISN沒有得救。這可能是一個權限問題或某種我在代碼本身忽略的設置?任何幫助表示讚賞。根據this