2011-03-25 136 views
0

我正在嘗試進行Android演示。在演示中,我必須在相機中顯示相機並拍攝照片,然後才能進入另一項活動,在該活動中,我可以通過照片和一個小菜單查看相機。如何啓動相機並拍攝照片

如何啓動相機並拍照?

回答

6

在我的應用我用下面的代碼來啓動相機:

public void imageFromCamera() { 
    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 
    mImageFile = new File(Environment.getExternalStorageDirectory()+File.separator+"MyApp", 
      "PIC"+System.currentTimeMillis()+".jpg"); 
    mSelectedImagePath = mImageFile.getAbsolutePath(); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mImageFile)); 
    startActivityForResult(intent, TAKE_PICTURE); 
} 

這將圖像保存到路徑mSelectedImagePath這是/sdcard/MyApp/.jpg。

然後,您捕獲onActivityResult中IMAGE_CAPTURE意圖的返回並啓動您的活動以從此編輯圖像!

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK) { 
     switch(requestCode) { 
     case TAKE_PICTURE: 
        //Launch ImageEdit Activity 
      Intent i = new Intent(this, ImageEdit.class); 
        i.putString("imgPath", "mSelectedImagePath"); 
        startActivity(i); 
      break; 
     } 
    } 
} 

希望這有助於!

0

下面是代碼示例。

Uri mOutputFileUri; 
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, mOutputFileUri); // URI of the file where pic will be stored 

startActivityForResult(intent, TAKE_PICTURE_FROM_CAMERA); 

然後在你的onActivityResult中檢查resultCode並從mOutputFileUri中獲取你的圖像。

您還需要檢查外部媒體存在並處理HTC設備的相機應用程序行爲問題。

相關問題