2012-07-11 87 views
2

我只是有一個小問題。我成功打開相機,按下按鈕拍攝照片後,出現以下三個按鈕:OK,RETAKECANCEL。通常當按下OK按鈕時,相機活動應該正常返回到父活動並執行onActivityResult函數包含的內容。但在我的情況下,當按下OK時,相機活動不會返回到父活動。任何解決這個問題的方法?按下OK按鈕後,相機活動不會返回到父活動。

請找到下面的代碼:

OnClickListener btn_TakePictureListener = new OnClickListener() { 

@Override 
public void onClick(View v) { 
     // TODO Auto-generated method stub 
     Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     File imgPath = retrievePath(); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, getImageUri(imgPath)); 
     startActivityForResult(intent, RequestCode); 
    } 
}; 

//@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     //super.onActivityResult(requestCode, resultCode, data); 

     if (RequestCode == requestCode && resultCode == RESULT_OK) { 
      String s = data.getDataString(); 
      Toast.makeText(getBaseContext(), ""+s, Toast.LENGTH_SHORT).show(); 
      Toast.makeText(getBaseContext(), "picture is taken", Toast.LENGTH_SHORT).show(); 
     }   
    } 

private String retrieveName() { 
    int []x = imgOpHlpr.getIDs(); 
    String s = imgOpHlpr.getImg_Name(x.length); 
    return s; 
} 

private File retrievePath() { 
    int []x = imgOpHlpr.getIDs(); 
    String s = Environment.getExternalStorageDirectory().getAbsolutePath(); 
    s += "/myFolder/"+imgOpHlpr.getImg_Path(x.length); 
    File file = new File(s); 
    return file;    
} 

private Uri getImageUri(File path) { 
    Uri imgFileUri = Uri.fromFile(path); 
    return imgFileUri; 
} 
+0

等什麼當u點擊OK – AAnkit 2012-07-11 10:03:49

+0

沒有任何反應發生在攝像頭的活動不會返回到它的父活動......彷彿onActivityResult不起作用 – 2012-07-11 10:05:02

回答

1

我想你應該實現這樣的事情..

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

    try{ 
    if (requestCode == IMAGE_CAPTURE) { 
     if (resultCode == RESULT_OK) { 
      Intent intent = new Intent(CameraCapture.this, Home.class); 
      intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
      finish(); 
      startActivity(intent); 
     } 

    } 
+1

這不工作...和startActivity如何放置內onActivityResult?如果startActivity不起作用,則爲 – 2012-07-11 09:42:21

+0

。只調用finish()。 – TKumar 2012-07-11 10:07:15

0

你忘了創建目錄你寫的圖像。 在創建文件對象之前添加此行。

File path = new File(Environment.getExternalStorageDirectory().getPath() + "/myFolder/"). 
path.mkdirs(); 
相關問題