我有2个活动。在第一个活动中有一个叫做拍照的按钮,当我点击它我的应用程序使用Android手机的相机意图。但我想要在第二个活动的图像视图中捕获的图像我该怎么办?它?
这里bt1是MainActivity_Lens
中的按钮。 cameraActivity
是第二个活动。
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 :(得分:0)
在Bitmap
使用:
activity
宣告:
byte[] bytesImage ;
将位图转换为字节数组:
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();
现在将其传递给其他活动;
Intent i = new Intent(MainActivity_Lens.this, cameraActivity.class);
i.putExtra("byteArray", bytesImage);
startActivity(i);
使用;
在第二次活动中接收它byte[] byteArray = getIntent().getByteArrayExtra("byteArray");
if (byteArray != null) {
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
imageview.setImageBitmap(bmp);//set bitmap to imageview
}