自Android Marshmallow以来,我们可以激活蓝牙扫描以改善位置。即使未激活蓝牙,此功能也会在后台扫描BLE设备。有没有办法可以通知我发现有BLE设备(UUID,MAYOR,MINOR),BroadcastReceiver可能吗?
我已经提出了增强请求here,但我还没有收到他们的回复。
有什么想法吗?
答案 0 :(得分:0)
如果不是系统应用,我不确定你想做什么。
根据设备设置说明:“... 允许系统服务 ...”
如果您要编写系统服务来收集扫描回调,您可以通过BluetoothAdapter#LeScanCallback
获取句柄来完成此操作,如下所示:
@Override
public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) {
if( device == null ) {
// perform work here
}
// example
runOnUiThread(new Runnable() {
@Override
public void run() {
mLeDeviceListAdapter.addDevice(device);
mLeDeviceListAdapter.notifyDataSetChanged();
}
});
}
};
此处提供更多信息:http://developer.android.com/guide/topics/connectivity/bluetooth-le.html