How to Capture Image When Device is Locked [closed

2019-05-19 02:38发布

问题:

I want to capture image automatically by using either front or rear camera from an android device when screen is locked and someone try to unlock it. I checked it is possible in Android and some application is available in Market. Please help.

回答1:

Generally speaking, you have two subproblems:

1) Detect when device is unlocked

As I understand it's reasonably straight forward.

All you need is to have BroadcaseReceiver subscribed to this action (http://developer.android.com/reference/android/content/Intent.html#ACTION_USER_PRESENT).

You read more about this here:

  • Display screen/activity on Unlock event?

  • http://funwithdc.wordpress.com/2012/02/12/the-problem-with-androids-action_user_present-intent/

  • Why is my BroadcastReceiver receiving ACTION_USER_PRESENT twice?

2) Take a picture from bakground

I am not 100% sure whether it's possible or whether it works on all devices. As I know Camera requires to have some preview. However, as I understand it could be invisible preview.

Generally speaking, you want to take a picture either from broadcastreceiver or if you will have problem with that, just create additional service, trigger it from broadcast receiver and take a pictures from there.

Take a look at these questions (they show samples how to do invisible preview):

  • Taking picture from camera without preview

  • How to use Camera to take picture in a background Service on Android?

Combining these two things should give you what you want.



回答2:

You can override the lockscreen to be your app, and then you can capture images like the rest of the app (google can help you with that).