我们如何以编程方式利用蓝牙扫描/位置改进

时间:2016-01-26 22:41:22

标签: android bluetooth locationmanager android-6.0-marshmallow bluetooth-lowenergy

自Android Marshmallow以来,我们可以激活蓝牙扫描以改善位置。即使未激活蓝牙,此功能也会在后台扫描BLE设备。有没有办法可以通知我发现有BLE设备(UUID,MAYOR,MINOR),BroadcastReceiver可能吗?

我已经提出了增强请求here,但我还没有收到他们的回复。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果不是系统应用,我不确定你想做什么。

根据设备设置说明:“... 允许系统服务 ...”

Scanning

如果您要编写系统服务来收集扫描回调,您可以通过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