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