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

Flutter_Beacon库示例应用无法检测Konkat iBeacon:如何修改UUID扫描指定Beacon?

如何修改Flutter_Beacon示例应用的UUID以扫描Konkat iBeacon

我来帮你梳理下具体的修改步骤和注意事项,让你能成功扫描到你的Konkat iBeacon:

1. 定位示例中的UUID配置位置

打开示例仓库master分支里的lib/main.dart(或者负责beacon扫描的页面文件),搜索BeaconRegion关键词,你会看到类似这样的代码段:

final region = BeaconRegion(
  'myBeacon',
  '00000000-0000-0000-0000-000000000000', // 这就是默认的占位UUID
  major: 1,
  minor: 1,
);

把这里的默认UUID字符串替换成你的Konkat iBeacon实际的UUID即可。

2. 按需调整扫描范围

如果你的Konkat iBeacon没有设置固定的major/minor值,或者你想扫描所有属于该UUID的Konkat设备,可以移除major和minor参数,代码会变成这样:

final region = BeaconRegion(
  'konkatBeacons',
  '你的Konkat iBeacon UUID',
);

这样应用就会扫描所有匹配该UUID的beacon设备。

3. 确认权限配置(关键!)

蓝牙beacon扫描依赖设备权限,一定要确保示例应用的权限配置正确:

  • Android端:打开android/app/src/main/AndroidManifest.xml,添加必要的权限:
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
    
    (注意:Android 12+需要单独的蓝牙权限,低版本可以调整权限列表)
  • iOS端:打开ios/Runner/Info.plist,添加蓝牙和位置权限描述:
    <key>NSBluetoothAlwaysUsageDescription</key>
    <string>需要蓝牙权限扫描Beacon设备</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>需要位置权限扫描Beacon设备</string>
    

4. 验证扫描流程

修改完成后,重新运行应用:

  • 确保设备蓝牙已开启
  • 允许应用获取位置权限(iOS和Android都要求位置权限才能扫描beacon)
  • 把Konkat iBeacon放在设备附近,应用应该就能识别到它了

内容的提问来源于stack exchange,提问作者Beacon in flutter

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 21:37:41