首页 > 代码库 > Android的BluetoothSocket调用Close时程序崩溃

Android的BluetoothSocket调用Close时程序崩溃

问题描述
RT.

/* 停止客户端连接 */
	private void shutdownClient() {
		new Thread() {
			public void run() {
				if (clientConnectThread != null) {
					clientConnectThread.interrupt();
					Log.i("1111111111111111111111111111111",
							"5555555555555555555555555555555555");
					clientConnectThread = null;
				}
				if (mreadThread != null) {
					mreadThread.interrupt();
					Log.i("1111111111111111111111111111111",
							"44444444444444444444444444444");
					mreadThread = null;

				}
				if (socket != null) {
					try {
						
        socket.close();						Log.i("1111111111111111111111111111111",
								"3333333333333333333333333");
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}

					socket = null;
				}
			};
		}.start();
	}


走到Close方法时,程序崩溃退出了。什么错都没报! 解决方案1
你这个应该是搞了一个monitor thread在监听其余的线程吧,建议加锁进行操作。不要直接这样close,或者判断数据。

Android的BluetoothSocket调用Close时程序崩溃