我使用与蓝牙低功耗(BLE)
相同的代码来配对设备,就像我用于经典蓝牙
配对一样。我不确定该代码是否适用于BLE,因为我目前或以后没有BLE设备要测试(只有客户端可以测试)。
我的蓝牙经典配对代码-
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
final BluetoothDevice device = mLeDeviceListAdapter.getDevice(position);
if (device == null) return;
Boolean isBonded = false;
try {
isBonded = createBond(device);
} catch (Exception e) {
e.printStackTrace();
}
Log.i("Log", "The bond is created: "+isBonded);
}
public boolean createBond(BluetoothDevice btDevice)
throws Exception
{
Class class1 = Class.forName("android.bluetooth.BluetoothDevice");
Method createBondMethod = class1.getMethod("createBond");
Boolean returnValue = (Boolean) createBondMethod.invoke(btDevice);
return returnValue.booleanValue();
}
这里的每个列表项都是需要绑定的设备。
所以我们点击这个项目,然后它就会被上面的代码绑定。(这适用于经典的蓝牙配对)。
相同的代码是否适用于BLE配对?
我没有找到BLE设备的任何配对代码,也没有找到任何与配对相关的在线/官方信息。这很奇怪。
您只能在特殊的绑定模式下与BLE设备绑定(但设备可以一直在该模式下工作,我的猜测)。阅读设备手册以弄清楚这一点。绑定后,您可以以GAT-Client身份连接到设备(您也可以创建GAT-server,如果提供,设备将以GAT-clien身份连接到您的服务器)
Android实现BLE,目前支持作为中心模式,这意味着如果你想像BT classic一样配对,配对请求实现应该在你想要连接的外围目标远程BLE设备上实现,BLE过程是扫描BLE服务,连接并启用通知和读/写特征。希望能帮助,问候
绑定的工作方式与蓝牙BR/EDR和LE大致相同,所以你应该很好。
在代码中,您可以只执行以下操作:
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
final BluetoothDevice device = mLeDeviceListAdapter.getDevice(position);
if (device == null) return;
device.createBond();
Log.i("Log", "The bonding started");
}
我不确定课堂反思和尝试/抓住障碍会为你做什么。在得到ACTION\u BOND\u STATE\u CHANGED事件之前,您无法知道绑定尝试的结果。API中都有描述。
连接后始终执行绑定,BluetoothDevice对象不一定连接。所以你可以做一个设备。连接GATT(…)首先调用,然后在接收到onConnectionStateChange事件后调用createBond。但我相信,该设备只需调用createBond即可尝试连接。
我正在Visual Studio 2015中用C语言为运行Windows IoT Core的Raspberry PI 2设备开发。 对于我的应用程序,我需要配对和取消配对蓝牙设备 我可以获得配对/未配对/所有蓝牙设备的列表吗<类似于内置管理网站的蓝牙页面(http://[设备IP]:8080/Bluetooth.htm) 我找到了一个例子(https://github.com/Microsoft/
我正在尝试枚举所有与我的设备配对的蓝牙设备。在设置中,我可以查看配对的设备,但以下代码不返回任何项目: 我看过这篇和其他使用这种方法的帖子,但我似乎无法让它发挥作用。 我在Manifest.xml有以下权限: 此外,如果我将其中一个已配对的设备置于发现模式并进行扫描,则该设备会以已配对的状态返回。如果我检查: 从扫描中,它返回true。 我做错了什么或不理解什么?
我想查找没有已配对设备的蓝牙设备。但是我的python脚本显示了我配对的设备上的蓝牙设备。如何只过滤打开的设备并忽略电脑中的配对设备,而不删除它们。 这是我的剧本
问题内容: 我正在创建一个应通过蓝牙连接到特定设备的应用程序。 无论设备是否已配对,我都希望我的应用程序与此设备连接。 现在我有这个 但是此功能仅连接到配对的设备。如果我的设备尚未配对,我想将其配对。不知道该怎么做。 有人可以给我任何建议吗? 问题答案: 首次请求权限。 然后使您的设备可发现: 然后创建一个 BroadcastReceiver 来监听系统中的动作: 并通过注册以下 Boardcas
我在连接时遇到问题。起初它有效,而不是不起作用,除非我取消配对设备。我已经得到了所有可能发生的异常,套接字关闭,管道关闭,连接被拒绝,端口已经在使用中,等等。 我知道android 4.2之前版本的蓝牙存在问题(https://code.google.com/p/android/issues/detail?id=37725). 我在连接这些设备时遇到问题的设备: Htc one(Android4.
deviceName String deviceId String