2012-06-03 26 views
2

我從用戶讀取了一個文本輸入,這個輸入我用它作爲我正在拍攝的照片的名稱。攝像機活動不會返回到上一次/呼叫者活動

我將此名稱和圖像名稱的路徑存儲到Sqlite數據庫中。

我想要做的是,點擊確定接受拍攝的圖片後,我想保存的路徑顯示在吐司。

的問題是,當我點擊確定接受畫面,正在顯示什麼,我不能從相機活動切換到調用攝像頭活動「以前的活動」

注意活動:我使用模擬器不是真正的設備。

OnClickListener btn_TakePictureListener = new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     String 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.getData().toString(); 
     Toast.makeText(getBaseContext(), ""+s, Toast.LENGTH_SHORT).show(); 
    }   
} 

回答

0

如果傳遞的URI您的圖像,然後作爲採取的攝像頭,你可以檢索圖片:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File( 
    Environment.getExternalStorageDirectory(), "temp.jpg"))); 
    startActivityForResult(intent, 1); 
    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (resultCode == NONE) 
      return; 

     if (requestCode == 1) { 
      // Set the file save path with directory 
      File picture = new File(Environment.getExternalStorageDirectory() 
        + "/temp.jpg"); 
      Uri imageuri= Uri.fromFile(picture);   
      //set to imageview here 
     } 
} 

編輯:

獲取數據的URI onActivityResult開始CAMRA Activiyt爲:

Intent intent = new Intent(Intent.ACTION_PICK, null); 
intent.setDataAndType( 
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,IMAGE_UNSPECIFIED); 
startActivityForResult(intent, 2);  
    @Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == NONE) 
     return; 
    if (requestCode == 1) { 
     Uri uriimg = data.getData(); 
     Toast.makeText(getBaseContext(), ""+uriimg.toString(), Toast.LENGTH_SHORT).show(); 
     } 
    } 
+0

看到我的編輯答案 –