2016-08-19 3 views
0

私はAndroid 5.0を使用して画像を自動的にキャプチャして携帯電話に保存するアプリケーションを実装しています。現在、私はコードを使用していますが、携帯電話のキャプチャUIでキャプチャボタンを押す必要があります。キャプチャボタンを押さなくても画像をキャプチャして保存できますか?たとえば、私は関数myCaptureandSave()を呼び出してから、電話機にキャプチャUIが表示され、イメージを一時的にキャプチャして保存します。これ以上の手順は必要ありません。Androidでキャプチャボタンを押すことなく画像を自動的にキャプチャして保存するには?

 public void myCaptureandSave() { 
     String image_path = Environment.getExternalStorageDirectory() +"/"+System.currentTimeMillis()+".jpg"; 
     Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     //File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); 
     File output = new File(image_path); 
     cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(output)); 
     startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); 
     } 
+1

あなたはそれをインテントで行うことはできません。インテントは他のアプリを開きます。あなたは自分のカメラアプリを作る必要があります。フォロー[こちら](https://developer.android.com/guide/topics/media/camera.html#custom-camera) –

答えて

1

Camera Apiを使用する必要があります。このAPIと現在のSurfaceTextureを参照しているバックグラウンドで実行されるサービスを作成すると、カメラは「どこにもプレビューしません」必要になります。その後、デバイスが探知されても写真を撮ることができます

1

はい、可能ですが、内部カメラ(意図を呼び出す)を使用して行うことはできません。 Camera2 APIを使用する必要があります。

私はカメラ2のAPIを使用するライブラリを作った、あなたがしたい場合は、あなたがそれを見てみることができます:あなたのケースでは

https://github.com/omaflak/Android-Camera2-Library

を、単にプレビューのためのダミーSurfaceTextureを渡し、takePicture()を呼び出します。

は、私は、この時間前に、私はそれを得た少しの変化で試してみました

+0

偉大な、私はテストしています – Jame

+0

ありがとう、私は私のデバイスで実行するとエラーがあります。私はhttps://github.com/omaflak/Android-Camera2-Library/issues/2で報告しました – Jame

+0

また、AndroidでBuild-in Cameraアプリを使用したいと思います。出来ますか? – Jame

関連する問題