在android中捕获后在另一个活动中显示图像?

时间:2012-08-09 09:26:10

标签: android android-camera

我想在拍摄照片后在另一个活动中在ImageView中显示我的图像 我有2个活动(MainActivity,UploadActivity)和2个布局(主要,上传)。

主要布局有1个按钮用于打开相机,上传布局有Imageview用于捕获后的显示图像。   按钮的MainActivity单击以打开相机,使用UploadActivity检索要显示的图像。

这是MainActivity

 imb_eat.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Intent intent_capture = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent_capture, 0);
        }
    });

}

2 个答案:

答案 0 :(得分:0)

当相机活动完成时,您将在onActivityResult()方法中收集数据。 然后你可以拍摄你的相机创建的文件,并在另一个意图中使用它,然后关闭另一个活动。然后该活动读取意图数据并可以操纵照片。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    String filePath;
    Bitmap _bitmapPreScale = null;
  if (requestCode == REQUEST_FROM_CAMERA && resultCode == RESULT_OK) {

    _bitmapPreScale = getPhoto(filePath);

  Intent intent = new Intent(someCLass.class)
  intent.putExtra(Intent.EXTRA_STREAM, Uri.parse ("file://" + filePath));
  startActivity(intent);
 }

}

答案 1 :(得分:0)

这是一个接受来自其他活动的捆绑的活动。我没有传递图片的图片或文件名,但机制是相同的

public class ClassList extends ListActivity {


private gradeBookDbAdapter mDbHelper;

/** Called when the classlist is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.class_list);

    // pull in any calling bundle information - are we just selecting a class from the list?
    Bundle extras = getIntent().getExtras();
    if (extras != null) {
     int id = extras.getInt("SELECT");
      Select = (id == 1)? true : false;
    }