获取蓝牙适配器时的Lint错误

时间:2014-04-22 11:58:57

标签: android bluetooth-lowenergy android-bluetooth

我正在关注Bluetooth Low Energy设备的文档以扫描BLE设备。

正如文档中所提到的,我定义了---

BluetoothAdapter mBluetoothAdapter = null;

final BluetoothManager bluetoothManager = 
(BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);

mBluetoothAdapter = bluetoothManager.getAdapter(); //Lint Error..

但我得到了一个Lint错误---

  

调用需要API级别18(当前最小值为8):   android.bluetooth.BluetoothManager#getAdapter

所以我将代码更改为 -

mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

代码是否替换上述lint错误?

1 个答案:

答案 0 :(得分:8)

您可以致电BluetoothAdapter.getDefaultAdapter()BluetoothManager documentation

使用getSystemService(java.lang.String)BLUETOOTH_SERVICE创建BluetoothManager,然后致电getAdapter()获取BluetoothAdapter

或者,您只需调用静态助手getDefaultAdapter()


或者您可以检查构建版本并初始化mBluetoothAdapter,如下所示

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) {
        mBluetoothAdapter = bluetoothManager.getAdapter();
} else {
       mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
}