如何以编程方式记录 Android 上的蓝牙活动(已配对、未配对、已连接、已断开连接)?

How to programmatically log Bluetooth activities (Paired, Unpaired, Connected, Disconnected) on Android?

目标应用程序将 运行 作为后台服务,跟踪设备的蓝牙活动(已配对、未配对、已连接、已断开连接)。这是否可行(即 Android 安全是否允许应用查看 BT 活动)?

非常感谢~

不,应用程序不可能收到 Android 设备上发生的每个蓝牙事件的通知。

您的应用可以做的是列出当前与托管该应用的 Android 设备绑定的蓝牙设备。方法如下:

BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();

您还可以扫描周围所有的蓝牙设备,并使用他们宣传的扫描记录来读取信息,例如他们的 RSSI(即信号强度)和制造商数据。