2011-03-25 10 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); 
} 

これは/sdcard/MyApp/.jpgあるパスmSelectedImagePathに画像を保存します。

次に、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; 
     } 
    } 
} 

1

かなりの数のチュートリアルはここで、このために来店中ですが、いくつかの例は以下のとおりです。ここで

Tutorial 1 Tutorial 2 Tutorial 3

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デバイスのカメラアプリケーションの動作に関する問題を処理することもできます。