【发布时间】:2022-04-15 01:04:55
【问题描述】:
val mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter()
if (mBluetoothAdapter.isEnabled) {}
【问题讨论】:
-
你使用的是哪个java版本?
val mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter()
if (mBluetoothAdapter.isEnabled) {}
【问题讨论】:
如您所见here,他们现在推荐这个:
val bluetoothManager = context.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager
bluetoothManager.getAdapter()
原因似乎是BluetoothAdapter.getDefaultAdapter() 忽略了上下文,而更复杂的应用可能需要显式引用正确的上下文。
在我看来,这不是弃用它的好理由,因为我想不出蓝牙适配器需要基于上下文的现实/常见用例。他们应该只保留两个选项(基于上下文和默认)而不弃用。
【讨论】:
BluetoothManager bluetoothManager = (BluetoothManager) YourContext.getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();
【讨论】: