Android-android 联想A60无法正常获取本地图片

前端开发 前端开发 主题:1148 回复:2395

Android-android 联想A60无法正常获取本地图片

想挽留 发布于 2016-10-24 字数 2349 浏览 1267 回复 2
Bitmap bmp = null;
if(requestCode == RESULT_OK_CAMERA ) //拍照
{
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds =true;
bmp = BitmapFactory.decodeFile(filePath, options );
file = new File(filePath);
options.inJustDecodeBounds =false;
int be = (int)(options.outHeight/ (float)240);
if(be <= 0)
be = 1;
options.inSampleSize = be;
bmp=BitmapFactory.decodeFile(filePath,options);

imageview.setImageBitmap(bmp);

}
else if(requestCode == RESULT_OK_ALBUM)//相册
{
Uri uri = data.getData();
String[] proj = {MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(uri,
proj, // Which columns to return
null, // WHERE clause; which rows to return (all rows)
null, // WHERE clause selection arguments (none)
null); // Order-by clause (ascending by name)
cursor.moveToFirst();
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
String Path = cursor.getString(column_index);
bmp = BitmapFactory.decodeFile(Path);
savePicture( bmp, filePath);

//生产缩略图
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds =true;
bmp = BitmapFactory.decodeFile(filePath, options );
options.inJustDecodeBounds =false;
int be = (int)(options.outHeight/ (float)240);
if(be <= 0)
be = 1;
options.inSampleSize = be;
bmp=BitmapFactory.decodeFile(filePath,options);

imageview.setImageBitmap(bmp);
}

}

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

想挽留 2017-04-26 2 楼

们一看到这段代码有啥问题,由于你的是通过startActvityForResult来获得返回值的,请先确认下面这几点:

1.文件真的存在
查看下路径对应的图片

2.setResult中intent中确实包含了正确的地址

onActivityResult中的从Intent取出的Uri是否正确。

如果还是有问题,看看是不是这个机型存在一些定制的地方,换个手机测试下。

希望对你有帮助.

偏爱自由 2017-03-13 1 楼

我自己实验了以下,发现估计是因为联想A60无法在sdcard中创建2级目录。所以换成一级目录以后本地上传图片的问题就解决了。