我的英语不好,但我会尝试以好的方式解释我的问题。
所以,问题是:
1)我有一个本地服务
2)我启动它然后绑定到它。3)当我即将关闭该服务时出现问题。我的ServiceConnection类的实现中的onServiceDisconnected方法永远不会被调用。如果我手动关闭它(从设置),或者通过 unbindService,或者通过 stopService,或者通过 unbindService 和 stopService 的组合 - onServiceDisconnected仍然不会被调用。我究竟做错了什么?
短代码如下:
protected ServiceConnection mServerConn = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder binder) {
Log.d(LOG_TAG, "onServiceConnected");
}
@Override
public void onServiceDisconnected(ComponentName name) {
Log.d(LOG_TAG, "onServiceDisconnected");
}
}
public void start() {
// mContext is defined upper in code, I think it is not necessary to explain what is it
mContext.bindService(i, mServerConn, Context.BIND_AUTO_CREATE);
mContext.startService(i);
}
public void stop() {
mContext.stopService(new Intent(mContext, ServiceRemote.class));
mContext.unbindService(mServerConn);
}
我正在 Android 2.2 的模拟器下测试这段代码