The problem is that the Camera object is an "activity object". This means that internally it requires the context of an activity.
You will not be able to declare a global camera object anywhere else than Activity Sub Globals.
Now that I read your post again I'm not sure that I fully understand it...
The first part is a real bummer.
My idea is to have services that act as queues:
One service takes care, say, of the camera or other peripherals.
Another takes care of downloading, for instance.
Say that a download has finished and the relevant activity has been
notified, I want to send a "message" to the peripherals service to, for
instance, take and upload a picture.
But the service is already doing something, say it's using the
accelerometer, whatever, then I queue the other request.
When this is finished, I tell my user "Look mate, this activity
needs you to take a picture".
Do you see my point now?
A