2011-09-13 5 views
11

웹에서 이미지와 데이터를 성공적으로 업로드하는 백그라운드에서 실행되는 서비스를 개발 중입니다.카메라를 사용하여 Android에서 백그라운드 서비스로 사진을 찍는 방법?

이제 카메라로 찍은 이미지를 업로드하고 싶습니다.

Android 2.2에서 미리보기없이 백그라운드 서비스에서 카메라를 사용할 수 있습니까?

내가 웹에 다양한 contrastants 답변을 발견 ...

내가 어떻게 할 수 있습니까?

답변

9

미리보기없이 더미보기로 사진을 찍을 수 있습니다.

같은

:

SurfaceView view = new SurfaceView(this); 
c.setPreviewDisplay(view.getHolder()); 
c.startPreview(); 
c.takePicture(shutterCallback, rawPictureCallback, jpegPictureCallback); 
+2

여기에 언급 된대로 모든 장치에서 작동하지 않습니다. http://stackoverflow.com/a/5384913/318870 –

+1

c, shutterCallback 및 모든 변수는 무엇입니까? 전체 코드를 제공하십시오. – jyomin

+2

이 코드는 제공되지 않습니다. 옳은. 나는'WindowManager'에'view'를 추가해야했습니다. 또한 view.getHolder()에 콜백을 추가 한 다음'surfaceCreated'에서 미리보기를 설정하고 미리보기를 시작하고 사진을 찍어야했습니다. – Sam

1

미리보기/표면보기가 없으면 불가능합니다.

+0

사실,하지만 당신은 여전히 ​​투명 미리보기 또는 1x1 크기의 미리보기로 트릭을 사용할 수 있습니다. 또한 일부 전화기에서는 표시되지 않는 더미 'SurfaceTexture'또는 'SurfaceView'를 사용할 수 있습니다. – Sam

+0

일부 장치에서는 내 노트 2와 같은 Surfaceview없이 작동하지만 모든 장치에서 작동하지 않습니다. 그럼 SurfaceView를 사용해야합니다. – TheOnlyAnil

관련 문제