按主页按钮停止服务

时间:2011-07-02 21:11:06

标签: java android

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

@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);
}

由于

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:3)

  

public static final int KEYCODE_HOME

     

此密钥由   框架并且从未提供给应用程序

Source

答案 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扩展每个活动,它将关闭主页/菜单按钮上的服务按

相关问题