A Service can't access the UI thread so it's not possible for a Service to detect key presses.
If you want to detect the key press within the Activity, probably the best solution is launch and 6 second post delayed handler that will check if the user still has the key pressed down.
new Handler().postDelayed(/* your Runnable here */, 6000);
Thats odd you say so, because I am detecting key presses via my service.
I am intrigued about your suggestion with the delayed handler though, sounds good.
Perhaps a flag checking for camera key down or key up, then handler checks 6 seconds later for that flag.