首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KeyCode,KeyEvent不工作

KeyCode,KeyEvent不工作
EN

Stack Overflow用户
提问于 2014-03-28 15:47:35
回答 2查看 1.9K关注 0票数 1

如何停止后台运行的服务?有没有办法使用Back和home按钮来完成这项工作?

我尝试过使用key events来实现,但仍然不起作用。在这里你可以检查我下面的代码...

代码语言:javascript
复制
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_HOME)) {          
        stopBackgroundAudio();// background services 
        return true;
    }
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {           
        stopBackgroundAudio();
        return true;
    }
    if ((keyCode == KeyEvent.KEYCODE_MENU)) {            
        stopBackgroundAudio();
        return true;
    }
     return super.onKeyDown(keyCode, event);

}

请帮我解决此问题,还是建议我使用其他选项来停止服务?

EN

回答 2

Stack Overflow用户

发布于 2014-03-28 15:52:41

Back和home不使用该API。THe返回键是通过backButtonPressed函数传入的,您可以覆盖该函数。主页按钮永远不会出现--你的应用程序只会被推到后台。

此外,如果你想在你放入背景时停止音频,只需在onPause中停止它。

票数 1
EN

Stack Overflow用户

发布于 2014-03-28 15:50:56

代码语言:javascript
复制
@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

        switch(keyCode)
        {
        case KeyEvent.KEYCODE_HOME:
        stopBackgroundAudio();// background services 
            return true;
        case KeyEvent.KEYCODE_BACK:
         stopBackgroundAudio();
            return true;
        case KeyEvent.KEYCODE_MENU:
       stopBackgroundAudio();
            return true;


        }

       return super.onKeyDown(keyCode, event);
    }

我不确定你的服务是绑定服务还是非绑定服务,如果它是非绑定服务,那么它可能是一个问题,如果它是一个绑定服务,那么就有一个正确的实现!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22707004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档