2010-10-28 2 views
9

Sto utilizzando Android 2.2 (livello API 8). La fotocamera è abilitata nel manifest. Quando provo l'icona della fotocamera fornita dal modello dell'emulatore, corre per alcuni secondi mostrando una scatola grigia che si muove attorno a una scacchiera in bianco e nero, quindi muore con il messaggio di errore:Perché la fotocamera dell'emulatore Android si arresta in modo imprevisto?

Siamo spiacenti! L'applicazione Fotocamera (processo com.android.camera) si è arrestata in modo imprevisto . Per favore riprova.

Provare di nuovo, ovviamente, non aiuta. Sto usando la fotocamera dell'emulatore fornita per confrontare il comportamento con un'applicazione della videocamera su cui sto lavorando. Perché la fotocamera dell'emulatore Android si arresta in modo imprevisto?

+2

Questo è uno dei più grandi misteri di Android ... è meglio non testare nulla contro la fotocamera dell'emulatore. Semplicemente non funziona bene sempre. – Cristian

risposta

4

La fotocamera dell'emulatore è al massimo squamosa.

0

Immagino perché l'emulatore non ha una vera macchina fotografica, l'hardware è simulato dal checkerbox di cui parli. Poiché non esiste un vero driver hardware, molto probabilmente cerca di verificare le funzionalità o di impostare funzionalità che non possono essere eseguite perché l'hardware simulato non lo supporta. La soluzione migliore è eseguire il debug della fotocamera o compilarla da soli e aggiungere un output di debug per scoprire cosa sta succedendo esattamente.

0

Funziona in 2.1 e precedenti?

Nell'ottica DDMS posso vedere l'eccezione mostrato qui:

Emulator's camera built-in app buggy in Froyo/2.2?

anche se non ho provato la modifica del codice suggerito nell'articolo.

potrebbe essere solo che la fotocamera emulatore è traballante :)

1

per avere maggiori dettagli correre "platform-tools/logcat ADB" dalla riga di comando host. Il problema di base sembra essere la fotocamera che pensa che ci siano più client connessi. La fotocamera imposta anche la rotazione al paesaggio, ma dopo la brutta caduta non riesce a riportarlo:

I/ActivityManager( 70): Starting: Intent { act=android.media.action.IMAGE_CAPTURE cmp=com.android.camera/.Camera } from pid 875 
I/ActivityManager( 70): Start proc com.android.camera for activity com.android.camera/.Camera: pid=888 uid=10031 gids={1006, 1015} 
I/WindowManager( 70): Setting rotation to 1, animFlags=1 
I/ActivityManager( 70): Config changed: { scale=1.0 imsi=310/260 loc=en_US touch=3 keys=2/1/2 nav=3/1 orien=2 layout=34 uiMode=17 seq=22} 
V/CameraHolder( 888): open camera 0 
W/CameraService( 34): CameraService::connect X (pid 888) rejected (existing client). 
E/CameraHolder( 888): fail to connect Camera 
E/CameraHolder( 888): java.lang.RuntimeException: Fail to connect to camera service 
E/CameraHolder( 888): at android.hardware.Camera.native_setup(Native Method) 
E/CameraHolder( 888): at android.hardware.Camera.<init>(Camera.java:258) 
E/CameraHolder( 888): at android.hardware.Camera.open(Camera.java:220) 
E/CameraHolder( 888): at com.android.camera.CameraHolder.open(CameraHolder.java:124) 
E/CameraHolder( 888): at com.android.camera.Camera.ensureCameraDevice(Camera.java:1608) 
E/CameraHolder( 888): at com.android.camera.Camera.startPreview(Camera.java:1660) 
E/CameraHolder( 888): at com.android.camera.Camera.access$5500(Camera.java:95) 
E/CameraHolder( 888): at com.android.camera.Camera$3.run(Camera.java:908) 
E/CameraHolder( 888): at java.lang.Thread.run(Thread.java:1019) 
W/dalvikvm( 888): threadid=11: thread exiting with uncaught exception (group=0x40015560) 
E/AndroidRuntime( 888): FATAL EXCEPTION: Thread-12 

Vedere anche domanda "4799183"

0

mi sono reso conto che la simulazione fotocamera sul Emulator è stabile sul livello di API 4 (Android 1.6) e sotto senza crash.