Android 设备重启时配对的蓝牙消失

Android paired Bluetooth disappears when device reboots

我想让连接的设备在不扫描蓝牙的情况下获取BluetoothDevice设备信息,所以我存储所有蓝牙连接的设备

但是,虽然其他设备的行为与预期一致,但当 phone 重新启动时,一种类型的蓝牙设备将丢失其配对信息。

有谁知道为什么会发生这种情况或有其他方法无需扫描即可获取蓝牙设备信息?

您可以使用蓝牙适配器。

BluetoothDevice device = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(mac);
device.connectGatt(mContext, false, mGattCallback);

// TODO your code

如果蓝牙设备不在身边,在BluetoothGattCallbackonConnectionStateChange会报BluetoothGatt.STATE_DISCONNECTED.

BluetoothDevice 的创建者具有包范围。但是BluetoothAdapter的getRemoteDevice的源码是:

public BluetoothDevice getRemoteDevice(String address) {
    return new BluetoothDevice(address);
}