android-如何检测来自服务的按键?

时间:2013-09-18 18:59:17

标签: java android service android-activity keypress

可以通过覆盖onKeyDown中的Activity来检测何时按下后退键:

public boolean onKeyDown(int keyCode, KeyEvent event) { 
        if (keyCode == KeyEvent.KEYCODE_MENU) {
            //do your work
            return true;
        }
        return super.onKeyDown(keyCode, event); 
    }

现在,如何从Service

中检测到这一点

1 个答案:

答案 0 :(得分:2)

没有办法做到这一点“没有在android中完全混乱”,如果你需要这样做,你实际上做错了很多,因为服务文档中指定“服务是一个应用程序”表示应用程序希望执行较长时间运行但不与USER交互的组件“。服务组件仅用于长期执行的任务,这些任务不需要任何交互,也完全不依赖于除启动和停止之外的活动的特定操作。默认情况下,服务不包含您需要的输入方法,但无论如何只是回答您的问题。一种方法是将服务绑定到一个活动,从活动中获取服务引用,在服务中实现一个方法,然后在调用onKeyPress时从您的活动中执行该方法。

这是将活动绑定到服务的方式:ServiceBinder

希望这有助于。

问候!