You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决.NET MAUI中Android 31.0及以上版本的BluetoothAdapter.DefaultAdapter过时问题?

解决.NET MAUI中Android 31+蓝牙API过时警告的方案

Android 12(API 31)及以上版本中,BluetoothAdapter.DefaultAdapter已被标记为过时,官方推荐通过BluetoothManager来获取蓝牙适配器,替换方案如下:

替换代码

在Android平台下,改用BluetoothManager获取适配器:

using Android.Content;
using Android.Bluetooth;

// 从系统服务中获取BluetoothManager实例
var bluetoothManager = (BluetoothManager)Android.App.Application.Context.GetSystemService(Context.BluetoothService);
// 通过Manager获取蓝牙适配器
BluetoothAdapter bluetoothAdapter = bluetoothManager.Adapter;

注意事项

  • 权限配置:需在AndroidManifest.xml中添加必要的蓝牙权限,API 31+需额外声明BLUETOOTH_SCAN、BLUETOOTH_CONNECT等危险权限,并且在运行时动态申请这些权限。
  • 可用性检查:获取适配器后需判断是否为空,以及蓝牙是否开启:
    if (bluetoothAdapter != null && bluetoothAdapter.IsEnabled)
    {
        // 蓝牙可用,执行后续操作
    }
    else
    {
        // 蓝牙不可用,提示用户开启蓝牙
    }
    
  • 跨平台兼容:如果是跨平台的.NET MAUI应用,建议通过依赖服务封装蓝牙操作,避免直接在共享代码中写入Android平台专属代码,保证iOS、Windows等平台的兼容性。

内容的提问来源于stack exchange,提问作者Thomas Carlton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 09:12:06