首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到方法android.bluetooth.le.BluetoothLeScanner.startScan

找不到方法android.bluetooth.le.BluetoothLeScanner.startScan
EN

Stack Overflow用户
提问于 2016-04-21 15:24:05
回答 1查看 1.4K关注 0票数 0

来自宏碁平板电脑的错误日志,宏碁B1-810android 4.4.4我正在测试小的BLE应用程序,我得到了这个日志“找不到方法android.bluetooth.le.BluetoothLeScanner.startScan ",我很困惑,因为BLE是在API18 (4.3)中引入的,这里我使用的是安卓4.4.4,但是”找不到方法android.bluetooth.le.BluetoothLeScanner.startScan“。它显示在日志中。

EN

回答 1

Stack Overflow用户

发布于 2016-04-21 23:18:03

使用BluetoothAdapter.startLeScan()在21版本以下的应用编程接口中添加了BluetoothLeScanner

代码语言:javascript
复制
private void startBluetoothLeScan() {
    BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
    BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();
    if (Build.VERSION.SDK_INT < 21) {
        bluetoothAdapter.startLeScan(new BluetoothAdapter.LeScanCallback() {
            @Override
            public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord) {

            }
        });
    } else {
        BluetoothLeScanner bluetoothLeScanner = bluetoothAdapter.getBluetoothLeScanner();
        ScanSettings scanSettings = new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
                .build();
        List<ScanFilter> scanFilters = new ArrayList<>();
        bluetoothLeScanner.startScan(scanFilters, scanSettings, new ScanCallback() {
            @Override
            public void onScanResult(int callbackType, ScanResult result) {
            }

            @Override
            public void onBatchScanResults(List<ScanResult> results) {
            }

            @Override
            public void onScanFailed(int errorCode) {
                super.onScanFailed(errorCode);
            }
        });
    }
}

有关详细信息,请参阅Bluetooth Low Energy文档

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36762549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档