gpt4 book ai didi

android - 获取 Android 显式配对设备的 RSSI 值

转载 作者:行者123 更新时间:2023-11-30 00:28:15 24 4
gpt4 key购买 nike

我已通过应用程序明确地将我的设备与 Android 手机配对。该设备是 MI-Band 2,并使用 MI-FIT 应用程序进行配对。我目前正在使用此代码连接到蓝牙设备:

String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI, Short.MIN_VALUE);

但是,问题是如果 MI-band 通过 mi-fit 应用程序连接,我无法从 MI-Band 获取 RSSI 值。

是否可以在 Android 中获取显式配对设备的 RSSI 值?如果是这样,我做错了什么?

谢谢

编辑:我似乎无法获取任何已连接设备的 RSSI 值。例如,如果 Android 手机 A 连接到 Android 手机 B,那么当我尝试通过上述代码从手机 A 读取时,我无法读取 RSSI 值。

最佳答案

如果您确定要连接的设备的蓝牙名称,也许您可​​以尝试使用 BluetoothAdapter.LeScanCallback在扫描时引起注意。或者您真的需要区分扫描的还是连接的?

BluetoothManager bleManager = (BluetoothManager) getApplicationContext().getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothAdapter bleAdapter = bleManager.getAdapter();
bleAdapter.startLeScan(leScanCallback);// find match device
BluetoothAdapter.LeScanCallback leScanCallback = new BluetoothAdapter.LeScanCallback() {

@Override
public void onLeScan(final BluetoothDevice device, final int rssi, byte[] scanRecord) {
if (device.getName() == null || !device.getName().equals("your bluetooth device name")) {
return;
}
// here you can get rssi of specified bluetooth device if it's available.
// and try to connect it programmatically.
connect(device.getAddress());
}
};

关于android - 获取 Android 显式配对设备的 RSSI 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44978942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com