On Sun, Jul 13, 2014 at 10:05 PM, Tom <karbonki...@gmail.com> wrote:

> Android API 18 introduced the onKey method AccessibilityService along
> with the necessary flags to enable filtering KeyEvents. What system
> service/ method deals with the delivery of these events, and *is it
> possible to register for key events when the screen is off*?
>
> I've noticed that hardware button events are not passed to
> AccessibilityService when the screen is off, which I'm guessing has to do
> with the dangers of overriding this behavior and preventing the device from
> unlocking. However, I'm interested in handling hardware buttons for the
> camera/ volume/ events other than the power button. Is this possible at
> present, or is such a feature being considered? If not, perhaps
> AccessibilityServiceInfo could include a list of KeyEvents the service
> wants to register for when the screen is off and have the service only send
> those?
>
> --



In  framework/base/services/java/com/android/server/SystemServer.java:

      CountryDetectorService countryDetector = null;
        TextServicesManagerService tsms = null;

        // Bring up services needed for UI.
        if (factoryTest != SystemServer.FACTORY_TEST_LOW_LEVEL) {
            try {
                Slog.i(TAG, "Input Method Service");
                imm = new InputMethodManagerService(context);
                ServiceManager.addService(Context.INPUT_METHOD_SERVICE,
imm);
            } catch (Throwable e) {
                reportWtf("starting Input Manager Service", e);
            }

            try {
                Slog.i(TAG, "Accessibility Manager");
                ServiceManager.addService(Context.ACCESSIBILITY_SERVICE,
                        new AccessibilityManagerService(context));
            } catch (Throwable e) {
                reportWtf("starting Accessibility Manager", e);
            }
        }

        try {
            wm.displayReady();
        } catch (Throwable e) {
            reportWtf("making display ready", e);
        }


>From above you can see that the AccessibilityManagerService comes in after
the InputMethod service is started.   So my guess is that it should be
possible to register for the key event after that?   Not sure.

https://developer.android.com/training/keyboard-input/commands.html
http://stackoverflow.com/questions/5665832/android-register-keyboard-action

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to