2009-06-26 73 views
2

我發起一個活動來捕獲照相機的圖片:如何獲取拍攝圖像的URL?

Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE, null); 
i.putExtra("return-data", true); 
startActivityForResult(i, PICK_FROM_CAMERA); 

你能告訴我怎麼去捕獲圖片的URI?

回答

1

爲了讓剛從相機你會做拍攝的圖像下面

// Call to take the picture 
startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE"), PICK_FROM_CAMERA); 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if (requestCode == PICK_FROM_CAMERA) 
    { 
     Uri uri = data.getData(); 
      // set the imageview image via uri 
      _previewImage.setImageURI(uri); 
    } 
} 
+6

在我的Android 2.2手機上嘗試了這個,`data.getData()`返回null。 – 2011-03-13 07:53:41

2

我是Android新手,但我相信您必須向意圖添加一些額外的信息。 的ACTION_IMAGE_CAPTURE文件說:

調用者可以通過一個額外的EXTRA_OUTPUT爲了控制這個圖像將被寫入。如果EXTRA_OUTPUT不存在,則在額外字段中將小圖像作爲位圖對象返回。這對於只需要小圖像的應用程序很有用。如果EXTRA_OUTPUT存在,則全尺寸圖像將被寫入EXTRA_OUTPUT的Uri值。

所以,我認爲你應該能夠在此行中添加:

intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(新文件( 「MyImageCapture」)));

然後,您應該能夠從onActivityResult中的URI中獲取它。

但我沒有測試過這個。希望我沒有把你引向歧途。

+0

我已經試過這樣:\t i.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(新文件(」 MyImageCapture「))); i.putExtra(「outputFormat」,Bitmap.CompressFormat.PNG.name()); \t \t \t \t \t \t \t startActivityForResult(I,PICK_ICON_FROM_CAMERA_ID); 但我的onActivityResult()永遠不會被調用。你能告訴我任何想法嗎? – n179911 2009-06-26 22:47:32

相關問題