36

これが重複した質問ではないことを願っていますが、カメラアプリ(デフォルトのAndroidカメラとは別に)を開くためのボタンが必要なアプリを作成しています。どうすればそれを行うことができますか?私は関数があることを知っています:

intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE)

それを使用する必要がありますか?そして、xmlファイルからボタンを呼び出すにはどうすればよいですか?

また、その写真やビデオの保存について心配する必要がありますか、それともデフォルトのカメラアプリがそれを処理しますか?

4

11 に答える 11

58

カメラを呼び出すには、次を使用できます。

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivity(intent);

画像はデフォルトのディレクトリに自動的に保存されます。

AndroidManifest.xml でカメラのアクセス許可を設定する必要があります。

<uses-permission android:name="android.permission.CAMERA"> </uses-permission>
于 2012-12-20T17:40:48.397 に答える
7

カメラ インテントを作成し、それを startActivityForResult(intent) として呼び出すことができます。

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

   // start the image capture Intent
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
于 2012-12-20T17:33:52.813 に答える
5

返信が少し遅れていることは承知していますが、問題なく機能したため、以下の構文を使用できます

Camera=(Button)findViewById(R.id.CameraID);
Camera.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent Intent3=new   Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
            startActivity(Intent3); 
        }
    });
于 2013-12-11T12:58:57.393 に答える
0

Intent で使用されているアクションについては正しいですが、それはあなたがしなければならない唯一のことではありません。また、追加する必要があります

startActivityForResult(intent, YOUR_REQUEST_CODE);

すべてを完了して実際の画像を取得するには、次のスレッドを確認してください。

Android - 写真をキャプチャ

于 2012-12-20T17:30:46.967 に答える