我通过API连接到相机。当一个功能
camera.takePicture(null, null, new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
返回byte []数据的数组。如果我理解正确,这是我们的照片。如何通过Intent传递这个字节数组并将结果图像设置为Activiti?
答案 0 :(得分:1)
你可以尝试:
Bitmap bitmap = BitmapFactory.decodeByteArray(data , 0, data.length());
然后假设您要传递的数据实现Serializable(它应该),将其传递给Intent应该如下所示: 来自一项活动:
i.putExtra("image", bitmap);
startActivity(i);
进入下一个下一个活动:
Intent i = getIntent();
Bitmap data = (Bitmap)i.getSerializableExtra("image");
答案 1 :(得分:1)
我以这种方式成功 第一部分
public void takePicture(View view) {
camera.takePicture(null, null, new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
Intent intent = new Intent(context, AcceptNotAccept.class);
intent.putExtra("picture", data);
startActivity(intent);
}
}
}
然后得到了这个意图
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_accept_not_accept);
Bundle extras = getIntent().getExtras();
byte[] byteArray = extras.getByteArray("picture");
bitmap = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
((ImageView)findViewById(R.id.ivForAcceptPicture)).setImageBitmap(bitmap);
}
答案 2 :(得分:0)
这里的想法是将图像保存到外部/内部存储器中(首选:外部像SD)并使用图像的完整路径,例如。
Intent i = new Intent(...);
i.putExtra("myimage","path://example.path/image.jpg");
startActivity(i);
接收活动可以通过调用其路径来获取图像:
String imagePath = getIntent().getStringExtra("myimage");