2017-01-15 1 views
1

Ich habe 2 Aktivitäten.In der ersten Aktivität gibt es eine Schaltfläche namens Foto machen, wenn ich darauf geklickt habe meine App verwendet eine Kamera Absicht von Android-Handy.Aber ich möchte das aufgenommene Bild in das Bild Blick auf 2. Aktivität Wie kann ich das machen?wie Sie die Daten zwischen zwei Aktivitäten teilen

Hier ist bt1 der Knopf in MainActivity_Lens. cameraActivity ist die zweite Aktivität.

public class MainActivity_Lens extends AppCompatActivity { 

    Button bt1; 
    public static final int req=1; 


    public void init(){ 
     bt1=(Button)findViewById(R.id.takephoto); 
     bt1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Intent camera=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
       startActivityForResult(camera,req); 

//    Intent cameraview =new Intent(MainActivity_Lens.this,cameraActivity.class); 
//    startActivity(cameraview); 
      } 
      protected void onActivityResult(int requestcode,int resultcode,Intent data){ 
       if(requestcode==req && resultcode==RESULT_OK){ 
        Bundle extras=data.getExtras(); 
        Bitmap photoCapturedBitmap =(Bitmap) extras.get("data"); 
        Intent cameraview =new Intent(MainActivity_Lens.this,cameraActivity.class); 
        startActivity(cameraview); 
       } 
      } 
     }); 
    } 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.activity_main_activity__lens); 
     init(); 
    } 



} 
+0

Diese 'Intent data' innerhalb onAcitivityResult wird sich wahrscheinlich null sein, nachdem die Aktivität neu gestartet werden, wenn die Kamera startet, können Sie die Daten, die Sie weitergeben möchten, verwalten, aber nicht über die Absicht. –

+0

[http://stackoverflow.com/questions/2091465/how-doi-i-pass-data-between-activities-on-android] – Gary99

Antwort

0

Bild passieren Bitmap zwischen activity Verwendung:

deklarieren:

byte[] bytesImage ; 

convert Bitmap Bytedatenfeld:

ByteArrayOutputStream ba = new ByteArrayOutputStream(); 
//bitmap is the bitmap you received in onActivityResult() 
bitmap.compress(Bitmap.CompressFormat.PNG, 50, ba); 
//save the image byte array 
bytesImage = ba.toByteArray(); 

Nun ist es auf andere Aktivität passieren;

Intent i = new Intent(MainActivity_Lens.this, cameraActivity.class); 
i.putExtra("byteArray", bytesImage); 
startActivity(i); 

Erhalten Sie es in Secondactivity mit;

byte[] byteArray = getIntent().getByteArrayExtra("byteArray"); 
    if (byteArray != null) { 
     Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length); 
     imageview.setImageBitmap(bmp);//set bitmap to imageview 
    } 
+0

byte [] bytesImage; ByteArrayOutputStream ba = neues ByteArrayOutputStream(); bitmap.compress (Bitmap.CompressFormat.PNG, 50, ba); bytesImage = ba.toByteArray(); Absicht i = neue Absicht (MainActivity_Lens.this, cameraActivity.class); i.putExtra ("byteArray", bytesImage); startAktivität (i); // Sollte ich oben genannten Code in OnActivity-Methode enthalten? // @ rafsanahmad007 –

+0

Sie meinen in "onactiviytResult" können Sie ... – rafsanahmad007

+0

@samea varma addepalli hat es funktioniert? – rafsanahmad007

Verwandte Themen