2 goodnessboy GoodnessBoy 于 2016.02.12 10:43 提问

用intent获取图像如何传到新的activity中? 1C

主activity中有一个button 调用照相机。

获取照片。

现在需要把这个图像传到新的activity中。
图片

5个回答

leilba
leilba   Rxr 2016.02.12 11:20

bitmap不能通过intent传递的吧,bitmap类貌似没有实现Serializable或者是Parcelable接口,不能被intent序列化。
你要传递的话,可以把bitmap存储为byte数组,然后再通过Intent传递

 Bitmap bmp=((BitmapDrawable)order_con_pic.getDrawable()).getBitmap();  
Intent intent=new Intent(this,Activity2.class);  
ByteArrayOutputStream baos=new ByteArrayOutputStream();  
bmp.compress(Bitmap.CompressFormat.PNG, 100, baos);  
byte [] bitmapByte =baos.toByteArray();  
intent.putExtra("bitmap", bitmapByte);  
startActivity(intent);  

取的话如下:

 Intent intent=getIntent();  
        if(intent !=null)  
        {  
            byte [] bis=intent.getByteArrayExtra("bitmap");  
                        //重新生成
            Bitmap bitmap=BitmapFactory.decodeByteArray(bis, 0, bis.length);  
        }  
leilba
leilba 回复GoodnessBoy: 放哪里都可以的,不一定要在handler里面
接近 2 年之前 回复
GoodnessBoy
GoodnessBoy 多谢。 这部分我能理解。 用intent启动第二个activity的时候是用handler实现吗?
接近 2 年之前 回复
lxk_1993
lxk_1993   Rxr 2016.02.16 17:24

转化为bitmap 传过去就好

qq_17250009
qq_17250009   2016.02.17 20:51

intent不适合携带bitmap这样比较大的数据,建议传递图片路径到第二个activity。

hwhzyy
hwhzyy   2016.02.19 17:37

intent传值好像是500k还是1m。下载下来,传路径比较好吧。

91program
91program   Ds   Rxr 2016.02.12 10:56

启动新的acitivity时,intent可以带参数的。如果参数时图片的路径,是很简单的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!