【问题标题】:start edit activity right after picture is taken at ACTION_IMAGE_CAPTURE activity在 ACTION_IMAGE_CAPTURE 活动中拍摄照片后立即开始编辑活动
【发布时间】:2011-08-04 04:37:46
【问题描述】:

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

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");
    }

} 
}

【问题讨论】:

  • 我对发生的事情有点困惑。拍照后立即启动editIntent,当editIntent返回时又重新启动editIntent?
  • 拍照后返回到主activity的onActivityResult。从那里,我开始编辑活动。问题是在拍照 1 或 2 秒后显示主要活动,然后切换到编辑活动。我希望它在拍照后直接编辑活动,所以用户不会混淆。

标签: android android-camera


【解决方案1】:

我相信这是不可能的,因为您正在启动一个您无法控制的单独应用程序活动。相反,请这样做:

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

在 EditActivity 的 onActivityResult 中检查返回码,然后做任何你需要的事情。如果照片拍摄成功,请继续使用编辑活动。如果没有,请完成并返回家庭活动。

【讨论】:

    猜你喜欢
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    相关资源
    最近更新 更多