在ACTION_IMAGE_CAPTURE活动拍摄照片后立即开始编辑活动

时间:2011-08-03 19:40:30

标签: android android-camera

首先,我启动相机应用程序来捕捉图片。完成后,我将图像路径添加到额外以启动编辑视图活动。当我执行此活动时,我发现它在拍摄照片后总是返回此活动,然后开始编辑活动。如何从相机视图中拍摄照片后,我怎么能避免回到此活动并立即开始编辑活动?

public void onSnapBtnClick(View v ) {
    Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    mImagePath = createImagePath();
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(mImagePath)));
    startActivityForResult(intent, ACTIVITY_SNAP);
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == ACTIVITY_SNAP && resultCode == Activity.RESULT_OK) {
    File fi = null;
    try {
    fi = new File(mImagePath);
    } catch (Exception ex) {
    Log.w(Config.LOGTAG, "mImagePath not exist " + mImagePath);
    }

    if (fi != null && fi.exists()) {

    String randomId = UUID.randomUUID().toString();
    new ImageUploadAsynTask().execute(randomId);
    Intent editIntent = new Intent(this, ShopinionEditTextActivity.class);
    editIntent.putExtra(GeatteDBAdapter.KEY_IMAGE_PATH, mImagePath);
    editIntent.putExtra(Config.EXTRA_IMAGE_RANDOM_ID, randomId);
    startActivity(editIntent);
    } else {
    Log.w(Config.LOGTAG, "file not exist or file is null");
    }

} 
}

1 个答案:

答案 0 :(得分:0)

我相信这是不可能的,因为你正在推出一个你无法控制的独立应用活动。相反,这样做:

在您的家庭活动中,启动EditActivity。 EditActivity将使用onCreate中的立即的代码使用startActivityForResult()启动相机应用程序;如果您在onCreate方法中启动另一个活动,则用户不应该看到该活动。

在EditActivity的onActivityResult中,它检查返回代码,并执行您需要的任何操作。如果图片拍摄成功,请继续使用“编辑”活动。如果没有,请完成并回到家庭活动。

相关问题