我想传递捕获的相机图像并从库中选择图像,图像应显示在下一个活动中,因为捕获的图像我的代码工作正常..但从库中选择图像活动中不显示图像。。
第一项活动
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == REQUEST_CAMERA) {
Uri selectedImage = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
//file path of captured image
imagepath = cursor.getString(columnIndex);
//file path of captured image
File f = new File(imagepath);
String filename = f.getName();
/*Toast.makeText(Contact.this, "Your Path:"+imagepath, 2000).show();
Toast.makeText(Contact.this, "Your Filename:"+filename, 2000).show();*/
cursor.close();
//Log.i("image path", imagepath);
Bitmap imageData = BitmapFactory.decodeFile(imagepath);
// Bitmap imageData = null;
imageData = (Bitmap) data.getExtras().get("data");
Intent i = new Intent(this, Cam.class);
i.putExtra("name", imageData );
startActivity(i);
//imageview.setImageBitmap(bit);
}
else if (requestCode == SELECT_FILE) {
//Bitmap photo = (Bitmap) data.getData().getPath();
Uri selectedImageUri = data.getData();
imagepath = getPath(selectedImageUri, null);
// your bitmap
//ByteArrayOutputStream bs = new ByteArrayOutputStream();
Bitmap imageData = BitmapFactory.decodeFile(imagepath);
imageData = (Bitmap) data.getExtras().get("data");
Intent intent = new Intent(this, Cam.class);
intent.putExtra("name", imageData );
startActivity(intent);
第二项活动
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cam);
Bitmap bitmap = getIntent().getExtras().getParcelable("name");
ImageView view = (ImageView) findViewById(R.id.imageView1);
view.setImageBitmap(bitmap);
}
5条答案
按热度按时间nlejzf6q1#
您可以使用bundle传递给另一个活动。
vql8enpb2#
在另一端取回它:
cotxawn73#
用这个。
在下一个活动中检索为
pgpifvop4#
如果您的设备中有图像,则可以传递图像的路径。而不是从路径显示。
3ks5zfa05#
要启动另一个活动并接收返回的结果,请调用startactivityforresult()(而不是startactivity())。
在startactivityforresult中,传递图像uri和下一个上下文。
我认为这在你的情况下应该足够了。