Android的BluetoothSocket调用Close时程序崩溃解决方法

Android的BluetoothSocket调用Close时程序崩溃
本帖最后由 porenasckx 于 2012-08-14 17:46:40 编辑
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方法时,程序崩溃退出了。什么错都没报!
------解决方案--------------------
你这个应该是搞了一个monitor thread在监听其余的线程吧,建议加锁进行操作。不要直接这样close,或者判断数据。