2010-08-30 28 views

回答

1

使用ACTION_IMAGE_CAPTURE意圖發動攝像頭活動:

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
startActivityForResult(intent, 0); 

這裏有一個詳細的例子:http://labs.makemachine.net/2010/03/simple-android-photo-capture/,我認爲適合你的問題,以捕獲圖像,存儲在SD卡,然後在ImageView中顯示圖像。

Enjoy !!!

+0

感謝很多幫助... 拉克什 – 2010-08-30 05:28:52

+0

@rakesh你很高興你的回覆 – 2010-09-01 10:23:40

2

您可以調用下面的方法系統相機使用:

private void startCameraActivity() { 
    File file = new File("/sdcard/test/test.jpg"); 
    Uri outputFileUri = Uri.fromFile(file); 
    Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
    startActivityForResult(intent, REQUEST_CODE_CAMERA); 
} 

當調用完成後,你會得到的圖片使用onActivityResult:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    Log.i("MakeMachine", "requestCode:"+requestCode + ",resultCode: " + resultCode); 
    switch(requestCode){ 
     case ModifyUserActivity.REQUEST_CODE_CAMERA: 
      switch (resultCode) { 
       case Activity.RESULT_CANCELED: 
        picFileName = null; 
        Log.i("MakeMachine", "User cancelled"); 
        break; 
       case Activity.RESULT_OK:     
        File file = new File("/sdcard/test/test.jpg"); 
        if(file.exists()){ 
         BitmapFactory.Options options = new BitmapFactory.Options(); 
         options.inSampleSize = 4; 
         Bitmap bitmap = BitmapFactory.decodeFile(picFileName, options); 
         imgTakePhoto.setImageBitmap(bitmap); 
         imgTakePhoto.setVisibility(View.VISIBLE); 
        } 
        break; 
       default: 
        break; 
      } 
      break; 
     default: 
      break; 
    } 

} 
相關問題