我想从画廊通过摄像头拍摄的图像,选择图像,图像应是在拍摄的图像下一个活动显示我的code从图库中的图像不会在活动中展示工作fine..but选择图像。
第一次活动
保护无效的onActivityResult(INT申请code,INT结果code,意图数据){ super.onActivityResult(要求code,结果code,数据); 如果(结果code == RESULT_OK){ 如果(要求code == REQUEST_CAMERA){ 乌里selectedImage = data.getData(); 的String [] = filePathColumn {MediaStore.Images.Media.DATA}; 光标光标= getContentResolver()查询(selectedImage,filePathColumn,NULL,NULL,NULL); cursor.moveToFirst(); INT参数:columnIndex = cursor.getColumnIndex(filePathColumn [0]); 捕获的图像的//文件路径 的ImagePath = cursor.getString(参数:columnIndex); 捕获的图像的//文件路径 文件f =新的文件(的ImagePath); 字符串文件名= f.getName(); /*Toast.makeText(Contact.this,您所在位置:+的ImagePath,2000).show(); Toast.makeText(Contact.this,您的文件名:+文件名,2000年).show(); * / cursor.close(); //Log.i(\"image路径的ImagePath); 位图的imageData = BitmapFactory.de codeFILE(的ImagePath); //位图的imageData = NULL; 。为imageData =(位图)data.getExtras()获得(数据); 意图I =新意图(这一点,Cam.class); i.putExtra(名,为imageData); startActivity(ⅰ); //imageview.setImageBitmap(bit); } 否则,如果(要求code == SELECT_FILE){ //位图的照片=(位图)data.getData()的getPath()。 乌里selectedImageUri = data.getData(); 的ImagePath =的getPath(selectedImageUri,NULL); //位图 // ByteArrayOutputStream BS =新ByteArrayOutputStream(); 位图的imageData = BitmapFactory.de codeFILE(的ImagePath); 。为imageData =(位图)data.getExtras()获得(数据); 意向意图=新意图(这一点,Cam.class); intent.putExtra(名,为imageData); startActivity(意向);
第二项活动
保护无效的onCreate(捆绑savedInstanceState){ super.onCreate(savedInstanceState); 的setContentView(R.layout.cam); 位图位图= getIntent()getExtras()getParcelable(名称)。; ImageView的观点=(ImageView的)findViewById(R.id.imageView1); view.setImageBitmap(位图); }
解决方案
使用此。
意向意图=新意图(这一点,NewActivity.class);intent.putExtra(路径的ImagePath);
在你的下一个活动获取为
字符串IMAGE_PATH = getIntent()getStringExtra(路径)。位图位图= BitmapFactory.de codeFILE(IMAGE_PATH);imageview.setImageBitmap(位图);
I want to pass captured camera image and select image from gallery, image should be display in next activity for captured image my code is working fine..but select image from gallery the image is not displaying in the activity..
First Activity
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);
Second Activity
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);
}
解决方案
Use this.
Intent intent = new Intent(this, NewActivity.class);
intent.putExtra("path", imagepath);
in your next Activity retrieve as
String image_path = getIntent().getStringExtra("path");
Bitmap bitmap = BitmapFactory.decodeFile(image_path);
imageview.setImageBitmap(bitmap);
上一篇:我如何与BitmapFactory.de code *指定位图格式(如RGBA_8888)()?位图、格式、de、BitmapFactory
下一篇:安卓了java.lang.RuntimeException:无法实例化活动ComponentInfo实例、lang、java、ComponentInfo