【问题标题】:What do I use now that BluetoothAdapter.getDefaultAdapter() is deprecated?现在不推荐使用 BluetoothAdapter.getDefaultAdapter() 我该使用什么?
【发布时间】:2022-04-15 01:04:55
【问题描述】:

如何修复此代码中的弃用警告?或者,还有其他选择吗?

   val mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter()
            if (mBluetoothAdapter.isEnabled) {}

【问题讨论】:

  • 你使用的是哪个java版本?

标签: android android-bluetooth


【解决方案1】:

如您所见here,他们现在推荐这个:

val bluetoothManager = context.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager
bluetoothManager.getAdapter()

原因似乎是BluetoothAdapter.getDefaultAdapter() 忽略了上下文,而更复杂的应用可能需要显式引用正确的上下文。

在我看来,这不是弃用它的好理由,因为我想不出蓝牙适配器需要基于上下文的现实/常见用例。他们应该只保留两个选项(基于上下文和默认)而不弃用。

【讨论】:

    【解决方案2】:
        BluetoothManager bluetoothManager = (BluetoothManager) YourContext.getSystemService(Context.BLUETOOTH_SERVICE);
        BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();
    

    【讨论】:

      猜你喜欢
      • 2013-08-07
      • 1970-01-01
      • 2016-06-26
      • 2016-05-18
      • 2013-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多