2011-08-03 83 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中檢查返回代碼,並執行任何您需要的操作。如果照片拍攝成功,請繼續使用「編輯」活動。如果不是,完成並返回家庭活動。

相關問題