Android Global KeyListener必备吗?

时间:2014-06-12 22:05:17

标签: java android global keylistener

我希望我的应用程序在按下后退按钮3次后启动。 所以我创建了这个在Launcher中执行的类。

 public class KeyManager extends Activity {

    @Override
   public boolean onKeyDown(int keyCode, KeyEvent event) {
       if(KeyEvent == "Back key"){
             Log.e("KM", "PRESSED!!!!!"+keyCode);
       }

       //return super.onKeyDown(keyCode, event);
       return false; 
   }

}

如果该代码在启动器类中实现,则此代码可以正常工作,但如果应用程序位于后台,则该代码无效。如果应用程序仅在后台运行,我需要多少关键监听器才能听取背景键或更多?

2 个答案:

答案 0 :(得分:1)

由于安全原因,这是不可能的。它更像是一个键盘记录器。如果您真的想这样做,请使用AccessibilityService,即使在非root用户设备上也可以捕获KeyHooks。警告:这是危险的,用户必须启用它才能激活它。

你可以/也可以修改默认键盘来捕获它们。

答案 1 :(得分:-1)

  

我希望我的应用程序在按下后退按钮3次后启动。

欢迎您下载Android源代码,更改操作系统以包含此功能,将其编译为ROM mod,并在您的设备上安装该ROM mod。

否则,Android不支持您想要的内容。