2011-08-03 4 views
1

まず、私は写真を撮るためにカメラアプリを起動します。完了したら、画像パスを余分に置いて編集ビューのアクティビティを開始します。このアクティビティを実行すると、撮影後にこのアクティビティに戻り、編集アクティビティが開始されることがわかりました。このアクティビティに戻り、カメラのビューから写真を撮った直後に編集作業を開始するのを避けるにはどうすればよいですか?ACTION_IMAGE_CAPTUREアクティビティで写真を撮影した直後に編集作業を開始します

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

} 
} 
+0

何が起こっているのか少し混乱しています。撮影後、直ちにeditIntentを開始します。editIntentが返すと、editIntentが再び開始されますか? – Jack

+0

撮影後、メインアクティビティのonActivityResultに戻ります。そこから、私は編集作業を開始します。問題は、写真が1秒または2秒間撮影された後にメインアクティビティが表示された後、編集アクティビティに切り替わることです。私はそれが撮影後に活動を編集するために直接行きたいので、ユーザーは混乱しないでしょう。 – angelokh

答えて

0

あなたはあなたがコントロールできない別個のアプリのアクティビティを開始しているため、これは不可能です。 、あなたの家の活動から

をEditActivityを起動します。代わりに、これを行います。 EditActivityにはというコードがあり、onCreate内のはstartActivityForResult()を使用してカメラアプリを起動します。 onCreateメソッドで別のアクティビティを起動すると、そのアクティビティを表示できないはずです。

EditActivityのonActivityResultでは、戻りコードをチェックして必要な処理を行います。画像が正常に撮影された場合は、編集操作を続行します。そうでない場合は、終了して自宅の活動に戻ります。

関連する問題