在通过蓝牙模块HC-05将数据从Xamarin.Android应用程序发送到Arduino时,我收到以下异常
read failed, socket might closed or timeout, read ret: -1我已经阅读了所有已经存在的答案,但没有一个能解决这个问题。
我使用了以下代码。
_adapter = BluetoothAdapter.DefaultAdapter;
if (_adapter == null)
{
return;
}
if (!_adapter.IsEnabled)
{
const int REQUEST_ENABLE_BT = 2;
var enableBtIntent = new Intent(BluetoothAdapter.ActionRequestEnable);
}
var pairedDevices = _adapter.BondedDevices.ToList();
if (pairedDevices.Any())
{
foreach (BluetoothDevice dev in _adapter.BondedDevices)
{
bonded.Add(dev);
}
bluetoothDevice = _adapter.GetRemoteDevice(bonded[0].Address);
_adapter.CancelDiscovery();
btSocket = bluetoothDevice.CreateRfcommSocketToServiceRecord(Java.Util.UUID.FromString("00001101-0000-1000-8000-00805f9b34fb"));
btSocket.Connect();
btSocket.OutputStream.WriteByte(messageBytes[0]);发布于 2019-07-04 03:30:37
套接字问题
你可以使用我在Xamarin中使用的Bluetooth class,安卓应用程序,当我连接到我的HC-05时,阅读代码中的行208。
在我的github库中,你可以找到ArduBotSlave下的Arduino,HC-5代码。这是一台鸡尾酒搅拌机,名为Arduino,接受安卓应用程序Xamarin的订单。
权限问题
您是否拥有使用蓝牙所需的所有权限?某些权限会以静默方式失败,并显示为错误。
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
https://stackoverflow.com/questions/56859557
复制相似问题