按主页按钮停止服务

我想如果用户按下主页按钮我的服务将停止,这是我的代码,但它不适合我,请帮助我:

@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_HOME) { stopService(new Intent(this, MyService.class)); return true; } return super.onKeyDown(keyCode, event); } 

谢谢

如果您尝试确保服务仅在相关活动可见时运行,则更好的解决方案是在onPause()方法中停止服务,无论用户正在运行什么活动。 这样,当用户按下“后退”并且当用户按下“主页”时处理该事件。

同样,您可以将服务绑定到活动(或活动)。 当绑定到它的所有活动都停止时,绑定的服务将被销毁。

public static final int KEYCODE_HOME

此密钥由框架处理, 永远不会传递给应用程序

资源

创建一个root活动并添加它,

 @Override public void onTrimMemory(int level) { super.onTrimMemory(level); if (level == ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) { // Get called every-time when application went to background. System.exit(0); } } 

使用rootActivity扩展每个活动,它将关闭主页/菜单按钮上的服务