如何停止后台运行的服务?有没有办法使用Back和home按钮来完成这项工作?
我尝试过使用key events来实现,但仍然不起作用。在这里你可以检查我下面的代码...
@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);
}请帮我解决此问题,还是建议我使用其他选项来停止服务?
发布于 2014-03-28 15:52:41
Back和home不使用该API。THe返回键是通过backButtonPressed函数传入的,您可以覆盖该函数。主页按钮永远不会出现--你的应用程序只会被推到后台。
此外,如果你想在你放入背景时停止音频,只需在onPause中停止它。
发布于 2014-03-28 15:50:56
@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);
}我不确定你的服务是绑定服务还是非绑定服务,如果它是非绑定服务,那么它可能是一个问题,如果它是一个绑定服务,那么就有一个正确的实现!!
https://stackoverflow.com/questions/22707004
复制相似问题