应用程序在Flutter上看不到蓝牙设备

p5fdfcr1  于 2023-08-07  发布在  Flutter
关注(0)|答案(1)|浏览(219)

我在附近的控制台中显示蓝牙设备的列表,但它几乎显示所有没有名称的东西,只有一部手机显示名称。如果通过手机中的蓝牙设置看,那么一切都显示正常的名称。有什么问题吗??使用flutter_blue_plus软件包。他也没有看到我需要的设备,尽管通过设置也可以看到一切。

scanSubScription = flutterBlue.scan().listen((scanResult) {
  print('------');
  print("${scanResult.device.name} --- ${scanResult.rssi}");
  print(scanResult.device);
  if (scanResult.device.name == TARGET_DEVICE_NAME) {
    print('DEVICE found');
    stopScan();
    setState(() {
      connectionText = "Found Target Device";
    });

    targetDevice = scanResult.device;
    connectToDevice();
  }
}, onDone: () => stopScan());

字符串
这是我的扫描码
下面是控制台中的输出:

的数据

b4lqfgs4

b4lqfgs41#

这可能是由于没有位置权限而发生的。对于Android,您需要以下权限:

<!-- Tell Google Play Store that your app uses Bluetooth LE
     Set android:required="true" if bluetooth is necessary -->
<uses-feature android:name="android.hardware.bluetooth_le" android:required="false" />

<!-- New Bluetooth permissions in Android 12
https://developer.android.com/about/versions/12/features/bluetooth-permissions -->
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<!-- legacy for Android 11 or lower -->
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />

<!-- legacy for Android 9 or lower -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" android:maxSdkVersion="28" />

字符串
关于PubDev的详细信息

相关问题