2011-09-13 26 views
11

Arka planda çalışan, başarıyla görüntü ve veriyi web'e yükleyen bir Hizmet geliştiriyorum.Fotoğraf makinesi arka planda resim çekmek için nasıl kullanılır?

Şimdi Kamera tarafından çekilen bir fotoğrafı yüklemek istiyorum.

Android 2.2'de önizleme olmadan arka plan servisinde kameranın kullanılması mümkün mü?

Ben web'de çeşitli contrastants cevapları buldum ...

Bunu nasıl yapabilirim?

cevap

9

Önizleme yapmadan resimleri sahte görünümle çekebilirsiniz.

gibi

:

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

Bu, burada belirtildiği gibi, tüm aygıtlarda çalışmaz: http://stackoverflow.com/a/5384913/318870 –

+1

nedir c, shutterCallback ve tüm değişkenler ... lütfen tüm kodu sağlayın – jyomin

+2

Bu kod değil doğru. 'Görünüm'ü' WindowManager’a eklemem gerekiyordu. Ayrıca view.getHolder() 'a bir geriçağırım eklemeliydim ve sonra' surfaceCreated' önizlemeyi ayarladı, önizlemeyi başlattı ve resmi çekti. – Sam

1

Önizleme/yüzey görünümü olmadan mümkün değil.

+0

Doğru, ama yine de böyle bir saydam önizleme veya 1x1 önizleme olarak hileler kullanabilirsiniz. Ayrıca, bazı telefonlarda görünen bir manken 'SurfaceTexture' veya' SurfaceView' kullanabilirsiniz. – Sam

+0

Bazı aygıtlarda (Not 2) Yüzey Görünümü olmadan çalışır, ancak her aygıtta çalışmaz. Yani SurfaceView kullanmak için bir zorunluluktur. – TheOnlyAnil

İlgili konular