質問

表示する別の意図から別の意図にカメラ画像を送信しようとしています。現在次の方法を使ってみよう

画像がキャプチャされたら

     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);
.

第2活動

      @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); 
    } 
.

しかし、スタックオーバーフローエラー、

        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)
.

私は間違った方法を試しているかどうかわからない。私はいくつかのサンプルやソリューションを探しています。

あなたの助けてくれてありがとう。

役に立ちましたか?

解決

を使用

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

         Intent imagepass = new Intent(Activity1.this,Activity2.class);
         imagepass.putExtra("imagepass", receipt );
         startActivity(imagepass);
. の代わりにp>
        Bitmap receipt = BitmapFactory.decodeFile(photo.toString(),options);  

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

imagepass.putExtra("imagepass", imagepass);でInstent Instance ImagePassを渡しているので、Bitmap に渡します。

編集: Androidのアクティビティ間のイメージ(ビットマップ)を渡すための

これらの投稿を見る:

どのように画像を渡す(ビットマップ)バンドルを使用したAndroidアクティビティの間で?

どうやってあるアクティビティから別のアクティビティへのビットマップオブジェクト

他のヒント

私があなたが送るためにあなたの渡しをあなたの渡すことができることから。試してみてください:

imagepass.putExtra("imagepass", receipt);
.

は、まだAndroidに新しいことができます。

イメージをバイト配列に変換してから、Intentを介してバイト配列を渡すことができ、そのバイト配列がBYTEアレイをビットマップに変換できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top