我正在使用此代码保存从屏幕截图中获取的位图图像:
try{
String fname = "/Pictures/YourApp/YourPic.jpg";
File path= Environment.getExternalStorageDirectory();
File file = new File(path, fname);
if (file.exists()) {
Bitmap bitty = BitmapFactory.decodeFile(file.toString());
yourPlan.setImageBitmap(bitty); //ImageView
}else{
errorText.setText("If you can not see your image then free up some memory");
}
}catch(Exception e){
errorText.setText("If you can not see your image then free up some memory");
}
它在我的测试手机上运行良好 - 在旧金山的旧金山2.1上,但是我收到了来自用户的电子邮件,告诉我他们只有在保存足够空间时才会收到错误消息。
他们正在使用HTC和三星手机。有什么想法吗?
答案 0 :(得分:0)
首先,我想指出,抓住一名将军Exception e
并不是一个好的编码实践。其次,输出给用户的两条消息也没有用,因为不能保证错误与空间有关。
我猜错误来自文件不存在。你在哪里保存文件?从代码片段中,我看到您只是假设文件存在。如果你在拍摄屏幕后还没有保存文件,那就是你的问题。您正在打开一个不存在的文件,并且您的错误消息给出了错误的印象,即没有足够的空间。