我想如果用户按下主页按钮我的服务将停止,这是我的代码,但它不适合我,请帮帮我:
@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);
}
由于
答案 0 :(得分:4)
如果您尝试确保服务仅在相关活动可见时运行,则更好的解决方案是在onPause()方法中停止服务,无论用户正在运行什么活动。这样,当用户按下“后退”并且当用户按下“主页”时,就会处理该事件。
同样,您可以将服务绑定到活动(或活动)。当绑定到它的所有活动都停止时,绑定的服务将被销毁。
答案 1 :(得分:3)
public static final int KEYCODE_HOME
此密钥由 框架并且从未提供给应用程序。
答案 2 :(得分:0)
创建一个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扩展每个活动,它将关闭主页/菜单按钮上的服务按