ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2014年12月17日 星期三

inject the HOME key to system

L 先生看到 'Back Button(No root) 這個 ap, 可以作到像 iOS asistant button 的動作。
可以送出 HOME/BACK/MENU

裝還後,他會註冊一個 accessibility service, 要 user 開啟他 才能動作。

所以查了一下 android 的 accessibility service,

發現:
constant: GLOBAL_ACTION_HOME
找一下 framewowk:
在 framework/base/services/java/com/android/server/accessibility/AccessibilityManagerService.java
        public boolean performGlobalAction(int action) {
               ...
               ...
                switch (action) {
                    case AccessibilityService.GLOBAL_ACTION_BACK: {
                        sendDownAndUpKeyEvents(KeyEvent.KEYCODE_BACK);
                    } return true;
                    case AccessibilityService.GLOBAL_ACTION_HOME: {
                        sendDownAndUpKeyEvents(KeyEvent.KEYCODE_HOME);
                    } return true;
                    ...
所以,service 送出 GLOBAL_ACTION_HOME 後,framework 的 action handle 就會模擬出一個 HOME 按鍵動作。

沒有留言:

標籤

網誌存檔