我希望连接的设备无需扫描蓝牙即可获取BluetoothDevice设备信息,因此我会存储所有连接蓝牙的设备。
然而,当其他设备按预期运行时,一种类型的蓝牙设备将在重新启动手机时丢失其配对信息。
有人知道为什么会出现这种情况,或者有其他方法可以在不扫描的情况下获取蓝牙设备信息吗?
答案 0 :(得分:0)
您可以使用BluetoothAdapter。
BluetoothDevice device = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(mac);
device.connectGatt(mContext, false, mGattCallback);
// TODO your code
如果蓝牙设备不在,BluetoothGattCallback
onConnectionStateChange
将报告BluetoothGatt.STATE_DISCONNECTED
。
BluetoothDevice的创建者具有包范围。但是BluetoothAdapter的getRemoteDevice的源代码是:
public BluetoothDevice getRemoteDevice(String address) {
return new BluetoothDevice(address);
}