我有一个正在运行的服务(Socket),这就是我启动服务的方式。
Intent s = new Intent(this, Socket.class);
startService(s);
在每个活动中,我检查用户选择主页按钮,单击主页按钮后我需要销毁套接字,所以我的应用程序中的每个活动都有以下代码:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_HOME)
{
Intent s = new Intent(this, Socket.class);
stopService(s);
}
return true;
}
但是这似乎没有停止我的服务?
我错过了什么吗?单击主页按钮后,我需要立即销毁我的服务。
答案 0 :(得分:1)
而不是连接到按键事件等,或许使用onPause,onStart,onDestroy等内置事件更适合您的需求?
StackOVF上的另一个问题最近得到了一个精彩的回复,其中有一个流程图可以帮助您找出启动/停止您正在使用的任何其他内容的位置:
http://developer.android.com/images/activity_lifecycle.png
在单一主题中对于在本主题中发布的信息: