I'm launching Google Goggles from my own camera app through an intent,
which generally works fine, but occasionally Google Goggles refuses to
launch, popping up an error message reading

> Camera Error
>
> Cannot connect to camera. You may need to restart your device.

and after pressing OK my app takes over again and successfully resumes
its own use of the camera (no device restart, and not even an app
restart). Now of course only one app at a time can use the camera, so
I explicitly first release() the camera and set my camera object to
null before launching Google Goggles.

Just waiting for camera==null to happen automatically after a
camera.release() does not work: log output shows that the camera
object remains non-null after doing a camera.release(), and I have to
explicitly set it to null as is common practice, but after that
something is sometimes still blocking reuse of the camera. I suspect
that some camera ownership flag is still floating around deep down in
Android, but if it is not somehow exposed such that I can check for it
then it is of no use.

So what *else* can I check for to make sure that the camera REALLY has
been released and *is* available before handing control to another
camera app? Or should it be filed as an Android bug?

The problem occurs on my HTC Desire running Android 2.2. BTW, I always
do camera.stopPreview() and camera.setPreviewCallback(null) before
doing camera.release().

Thanks!

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to