我正在使用 SPP 配置文件连接到我的设备:
Set<BluetoothDevice> devices = ba.getBondedDevices();
for(BluetoothDevice bd : devices)
{
String name = bd.getName();
if(name.equals("CELLMETER"))
{
try
{
BluetoothSocket bs = bd.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
bs.connect();
} catch (IOException e)
{
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}
}
一切似乎都还好,我创建了关闭输入输出缓冲区并关闭套接字的函数。但是,当应用程序崩溃或我在断点到达时停止应用程序时,套接字不会关闭,即使我手动终止进程并且它不适用于来自新应用程序实例的新连接。
我做错了什么?对于每个崩溃/调试操作,我必须重新启动手机:(
它仅在 Android 2.3.5 (Samsung 5830i) 和 Android 4.0.4 (Freelander P10) 上出现。在我的 Android 4.2.1 (Galaxy Nexus) 上一切正常,应用崩溃后连接自动关闭。(似乎是因为有新的蓝牙堆栈)