4

フロントカメラで写真をキャプチャする方法、私の電話がコードで特定のSMSを受信したときに、SMSイベントに取り組んでいます。私の電話は自動的に写真をキャプチャし、SDカードに保存します。

写真をキャプチャしてSDカードに保存する手順を教えてください。

4

1 に答える 1

2

次のコードを使用して写真を撮ります。

                Intent intent = new Intent();
                intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
                String newPicFile = "Image" + position;
                String outPath = "/sdcard/" + newPicFile;
                File outFile = new File(outPath);
                mCameraFileName = outFile.toString();
                Uri outuri = Uri.fromFile(outFile);
                intent.putExtra(MediaStore.EXTRA_OUTPUT, outuri);
                try{
                    startActivityForResult(intent, 1);
                }
                catch (ActivityNotFoundException e) 
                {
                    Toast.makeText(context, "No Camera Found", Toast.LENGTH_LONG).show();
                }

そして、クリックされた画像を表示するこのコード:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    {
        if( requestCode == CAMERA_PIC_REQUEST)
        {
        //  data.getExtras()
            Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
            ImageView image =(ImageView) findViewById(R.id.PhotoCaptured);
            image.setImageBitmap(thumbnail);
        }
        else 
        {
            Toast.makeText(context, "Picture Not taken", Toast.LENGTH_LONG).show();
        }
        super.onActivityResult(requestCode, resultCode, data);
    }

デバイスの前面カメラを確認するには、次のコードを使用できます。

CameraInfo cameraInfo = new CameraInfo();
            for (int i = 0; i < numberOfCameras; i++) {
                Camera.getCameraInfo(i, cameraInfo);
                if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) {
                    defaultCameraId = i;
                }
            }

また、こちらのドキュメントもご覧ください。

于 2012-09-09T17:23:09.203 に答える