如何从一个意图传递摄像机图像其他意图在android系统? [英] How to Pass camera image from one intent to other intent in android?

查看:261
本文介绍了如何从一个意图传递摄像机图像其他意图在android系统?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图从一个意图发送摄像机图像到另一个意图显示。目前我使用下面的方法尝试,

I am trying to send camera image from one intent to another intent to display. Currently i am trying using the following method,

一旦图像捕获

     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  

     super.onActivityResult(requestCode, resultCode, data);  
     switch(requestCode)
     {
         case CAMERA_RECEIPTREQUEST:  
         if(resultCode== Activity.RESULT_OK)
         {
         BitmapFactory.Options options = new BitmapFactory.Options();
         options.inSampleSize = 8;
         //ImageView jpgView = (ImageView)findViewById(R.id.imageView1);
         Bitmap receipt = BitmapFactory.decodeFile(photo.toString(),options);  

         Intent imagepass = new Intent(Activity1.this,Activity2.class);
         imagepass.putExtra("imagepass", imagepass);
         startActivity(imagepass);

在第二个活动

      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.receiptreview);   
        //creating view ids
        createViewIds();  

        Bitmap receiptimage = (Bitmap) getIntent().getExtras().getParcelable("imagepass");
        receipt.setImageBitmap(receiptimage); 
    } 

但它显示的StackOverflow错误,

But it shows StackOverFlow error,

        at java.util.HashMap$EntrySet.iterator(HashMap.java:944)
        at android.os.Parcel.writeMapInternal(Parcel.java:486)
        at android.os.Bundle.writeToParcel(Bundle.java:1552)
        at android.os.Parcel.writeBundle(Parcel.java:502)
        at android.content.Intent.writeToParcel(Intent.java:5477)

我不知道我是否想错了method.I正在寻找一些样品或解决这个。

I am not sure whether i am trying wrong method.I am looking for some sample or solution to this.

感谢您的帮助球员。

推荐答案

使用

         Bitmap receipt = BitmapFactory.decodeFile(photo.toString(),options);  

         Intent imagepass = new Intent(Activity1.this,Activity2.class);
         imagepass.putExtra("imagepass", receipt );
         startActivity(imagepass);

而不是

        Bitmap receipt = BitmapFactory.decodeFile(photo.toString(),options);  

         Intent imagepass = new Intent(Activity1.this,Activity2.class);
         imagepass.putExtra("imagepass", imagepass);
         startActivity(imagepass);

您逝去的意图实例imagepass在 imagepass.putExtra(imagepass,imagepass); 所以通过位图比如在 imagepass.putExtra(imagepass,收据);

You are passing Intent instance imagepass in imagepass.putExtra("imagepass", imagepass); so pass Bitmap instance in imagepass.putExtra("imagepass", receipt );

编辑:

有关活动之间传递图像(位图)Android中看到这些帖子:

for passing images (bitmaps) between activities in android see these posts:

<一个href=\"http://stackoverflow.com/questions/4352172/how-do-you-pass-images-bitmaps-between-android-activities-using-bundles\">how你使用Android的捆绑活动之间传递图像(位图)?

<一个href=\"http://stackoverflow.com/questions/2459524/how-can-i-pass-a-bitmap-object-from-one-activity-to-another\">How我可以通过一个位图对象从一个活动到另一个

这篇关于如何从一个意图传递摄像机图像其他意图在android系统?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆