Android服务已停止,但BluetoothChat服务仍在继续

Android服务已停止,但BluetoothChat服务仍在继续,android,android-intent,service,bluetooth,Android,Android Intent,Service,Bluetooth,我已经在一个服务中实现了,但是当我想停止服务时,还没有找到停止它的方法。 启动服务的目的是: intent = new Intent(mContext, service1.class); 意图=新意图(mContext,service1.class); 并使用stopService(intent)停止,该服务报告服务已停止,但蓝牙仍在继续-服务中的处理程序继续接收来自BluetoothChatService的回调并响应它们。因此,尽管服务已停止,但其中的处理程序仍保持活动状态。 stopServ

我已经在一个服务中实现了,但是当我想停止服务时,还没有找到停止它的方法。 启动服务的目的是:

intent = new Intent(mContext, service1.class); 意图=新意图(mContext,service1.class); 并使用stopService(intent)停止,该服务报告服务已停止,但蓝牙仍在继续-服务中的处理程序继续接收来自BluetoothChatService的回调并响应它们。因此,尽管服务已停止,但其中的处理程序仍保持活动状态。 stopService(intent) BluetoothChatService包含以下代码,看起来应该停止线程:

public void stop() { if (D) Log.d(TAG, "stop"); if (mConnectThread != null) { mConnectThread.cancel(); mConnectThread = null; } if (mConnectedThread != null) { mConnectedThread.cancel(); mConnectedThread = null; } if (mAcceptThread != null) { mAcceptThread.cancel(); mAcceptThread = null; } setState(STATE_NONE); } 公共停车场(){ 如果(D) 日志d(标记“停止”); 如果(mConnectThread!=null){ mConnectThread.cancel(); mConnectThread=null; } if(mConnectedThread!=null){ mConnectedThread.cancel(); mConnectedThread=null; } if(mAcceptThread!=null){ mAcceptThread.cancel(); mAcceptThread=null; } 设置状态(无状态); }
我不明白这一点。

cancel()
不是
线程的方法。这些东西实际上是什么?它在bluetoothChatService.java文件中定义为:私有类ConnectThread扩展Thread{这反过来会产生一个socket.close()。检查引用。一个人必须非常无聊(或者确实需要rep)我建议你把问题简化为一个简单的问题。你很可能会在这个过程中找到答案,如果你不这样做,你就更有可能得到帮助。