android - 为什么我可以关闭套接字但无法连接到 Android 中的设备?
问题描述
我可以使用 Android Studio 在应用程序上将设备与手机配对,但我得到:
D/标签:CouldNotConnectToSocket
后来我得到:
D/蓝牙套接字:关闭()
这是处理连接到套接字并关闭它的代码部分。
public void run()
{
try
{
BTSocket = device.createRfcommSocketToServiceRecord(BTMODULEUUID);
BA.cancelDiscovery();
BTSocket.connect();
mHandler.sendEmptyMessage(0);
}
catch (IOException eConnectException)
{
Log.d(TAG, "CouldNotConnectToSocket", eConnectException);
closeSocket(BTSocket);
return;
}
}
private void closeSocket(BluetoothSocket nOpenSocket)
{
try
{
nOpenSocket.close();
Log.d(TAG, "SocketClosed");
}
catch (IOException ex)
{
Log.d(TAG, "CouldNotCloseSocket");
}
}
private Handler mHandler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
//mBluetoothConnectProgressDialog.dismiss();
Toast.makeText(MainActivity4.this, "DeviceConnected", 5000).show();
}
};
我需要某种延迟,还是有BTSocket.connect()
某种线程?
解决方案
我发现的问题是我尝试连接以开始发送/接收数据的设备需要在应用程序中实现 BLE。
推荐阅读
- python - 使用Python读取sql数据库的字符错误
- javascript - 是否可以在对象定义期间引用已定义的字段值?
- angular - Switchmap返回单个字符 - Angular
- git - 从历史记录中删除压缩文件
- arduino-uno - 闪烁程序快速引导了一段时间,然后在 Arduino UNO 上缓慢引导
- angular - 带有动态表格组件的角度服务器端分页
- android - Flutter 应用程序无法识别 Kotlin 文件
- python - Python 2 - ord() 返回不正确的值
- javascript - 使用jQuery获取父级的前三个子元素
- apache-kafka - Apache Flink 上的自定义 Kafka 源