2016-08-19 7 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

의도와 함께 할 수 없습니다. 의도는 다른 앱을 엽니 다. 자신 만의 카메라 앱을 만들어야합니다. 폴로 [this] (https://developer.android.com/guide/topics/media/camera.html#custom-camera) –

답변

1

카메라 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