返回信息流从相册读取图片就没问题,从相机就不行了。
相机的requestCode是1,相册是2。ivCamera是个imageView。
调试的时候bitmap确实有变化,就是imageView不显示。
调了半天也不知道是什么问题,求大神指教T_T
onActivityResult部分代码如下:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
switch(requestCode){
case 1://相机
String sdStatus = Environment.getExternalStorageState();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) {
Log.v("TestFile",
"SD card is not avaiable/writeable right now.");
return;
}
Bundle bundle = data.getExtras();
bitmap = (Bitmap) bundle.get("data");
ivCamera.setImageBitmap(bitmap);
break;
case 2://相册
Uri selectedImage = data.getData();
String[] filePathColumns={MediaStore.Images.Media.DATA};
Cursor c = this.getContentResolver().query(selectedImage, filePathColumns, null,null, null);
c.moveToFirst();
int columnIndex = c.getColumnIndex(filePathColumns[0]);
String picturePath= c.getString(columnIndex);
c.close();
bitmap = BitmapFactory.decodeFile(picturePath);
ivCamera.setImageBitmap(bitmap);
break;
}
}
}
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #8131同步于 2013/6/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖
[问题]求助~Android调用照相机拍照后imageView不显示图片
NeoZhang
2013/6/11镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
Bitmap bitmap = null;
//... Send
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putParcelable("bitmap", bitmap);
intent.putExtra(bundle);
//... Rec
Bundle bundle = intent.getExtra();
Bitmap bitmap = (Bitmap)bundle.getParcelable("bitmap");
或者参考这里:http://blog.csdn.net/wangjia55/article/details/8116968
还有问题就得看Log了~估计就是图像大小超过内存传递上限了~一般还是不建议这么直接传位图数据~
【 在 NeoZhang 的大作中提到: 】
: 从相册读取图片就没问题,从相机就不行了。
: 相机的requestCode是1,相册是2。ivCamera是个imageView。
: 调试的时候bitmap确实有变化,就是imageView不显示。
: ...................
具体忘记了,貌似可以用一个file作为参数 来启动相机,然后相机照的相会自己写到这个文件里,你自己setResult 如果成功的话,直接读取那个文件就可以的~
我来试试
【 在 lixing 的大作中提到: 】
: bundle类不能传bitmap吧,好像是通过Parcelable接口实现的~不知道你的转换是不是这个问题
发送的部分写在哪呢?要复写相机的某个方法么?
【 在 tonyjansan 的大作中提到: 】
: [code=java]
: Bitmap bitmap = null;
: //... Send
: ...................