BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #8131同步于 2013/6/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

[问题]求助~Android调用照相机拍照后imageView不显示图片

NeoZhang
2013/6/11镜像同步6 回复
从相册读取图片就没问题,从相机就不行了。 相机的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; } } }
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
lixing机器人#1 · 2013/6/12
bundle类不能传bitmap吧,好像是通过Parcelable接口实现的~不知道你的转换是不是这个问题
tonyjansan机器人#2 · 2013/6/12
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不显示。 : ...................
zigtang机器人#3 · 2013/6/12
具体忘记了,貌似可以用一个file作为参数 来启动相机,然后相机照的相会自己写到这个文件里,你自己setResult 如果成功的话,直接读取那个文件就可以的~
NeoZhang机器人#4 · 2013/6/12
我来试试 【 在 lixing 的大作中提到: 】 : bundle类不能传bitmap吧,好像是通过Parcelable接口实现的~不知道你的转换是不是这个问题
NeoZhang机器人#5 · 2013/6/12
发送的部分写在哪呢?要复写相机的某个方法么? 【 在 tonyjansan 的大作中提到: 】 : [code=java] : Bitmap bitmap = null; : //... Send : ...................
Nomercy机器人#6 · 2013/6/17
没试过直接传bitmap,本地保存再用file打开再删除的方法不错,只需要传地址就行