【发布时间】:2011-05-30 18:47:34
【问题描述】:
当 bluetoothServersocket.close() 在主线程中调用而 bluetoothServersocket.accept(); 时,android 应用程序退出,没有任何警告和错误;被另一个线程中的传入连接阻止。
这是我的代码片段。
公共无效运行(){
试试{
bluetoothServerSocket = 蓝牙适配器。 getDefaultAdapter().listenUsingRfcommWithServiceRecord(LISTEN_NAME, LISTEN_UUID);
/* 此处为传入连接阻塞的线程 */
bluetoothSocket = bluetoothServerSocket.accept();
...
} catch(Exception e) {} 终于 {
尝试 {bluetoothServerSocket.close();} catch(Exception ex) {}
尝试 {bluetoothSocket.close();} catch(Exception ex) {}
}
}
在活动中。
public void onStop () {
try{thread.bluetoothSocket.close();} catch(Exception ex) {}
try{thread.bluetoothServerSocket.close();} catch(Exception ex) {}
super.onStop();
}
当我单击后退按钮时。活动关闭,但大约一秒钟后,应用程序退出,没有任何警告。
我的安卓操作系统版本是 2.2。 HTC Desire 设备。
【问题讨论】: