android – startLeScan替换为当前api

前端之家收集整理的这篇文章主要介绍了android – startLeScan替换为当前api前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
目标是读取蓝牙LE心率监视器的值.

使用谷歌的样本,我得到

private void scanLeDevice(final boolean enable) {
    if (enable) {
        // Stops scanning after a pre-defined scan period.
        mHandler.postDelayed(new Runnable() {
            @Override
            public void run() {
                mScanning = false;
                mBluetoothAdapter.stopLeScan(mLeScanCallback);
            }
        },SCAN_PERIOD);

        mScanning = true;
        mBluetoothAdapter.startLeScan(mLeScanCallback);
    } else {
        mScanning = false;
        mBluetoothAdapter.stopLeScan(mLeScanCallback);
    }
}

这导致mBluetoothAdapter.stopLeScan被显示为不推荐使用. Startscan不是mBluetoothAdapter的方法.

如何更改这一点,使其与当前的API协同工作?

解决方法

在Android Lollipop中,方法 BluetoothAdapter.startLeScanBluetoothAdapter.stopLeScan都已被弃用.作为替代品 BluetoothLeScanner被引入并作为扫描控制器.

如果您开发基于BLE的应用程序,您应该通过BluetoothAdapter(Android 4.3和Android 4.4)或BluetoothLeScanner进行扫描. Android Lollipop中引入的API在电池功耗方面提供了更大的功能.

猜你在找的Android相关文章