qt安卓开发使用蓝牙

主要参考文档 Qt on Android 蓝牙通信开发

主要踩坑:
在搜索蓝牙时需要有ACCESS_COARSE_LOCATION权限,并且手机定位功能一定要打开,我就是因为没有开手机定位,卡了一天为什么搜索不到蓝牙。
在代码中设置蓝牙权限:

#include <QtAndroid>
#define ACCESS_COARSE_LOCATION "android.permission.ACCESS_COARSE_LOCATION"
 bool BluetoothProxy::checkPermission()
 {
    qDebug() << "to check";
     QtAndroid::PermissionResult r = QtAndroid::checkPermission(ACCESS_COARSE_LOCATION);
      if(r == QtAndroid::PermissionResult::Denied) {
          qDebug() << "checking";
          QtAndroid::requestPermissionsSync( QStringList() <<ACCESS_COARSE_LOCATION ,10);
          r = QtAndroid::checkPermission(ACCESS_COARSE_LOCATION);
          if(r == QtAndroid::PermissionResult::Denied) {
              qDebug() << "check flase";
               return false;
          }
          qDebug() << "check true";
     }
     return true;
 }

制作的蓝牙界面
最终的demo如下:
qt安卓蓝牙程序

本文地址:https://blog.csdn.net/weixin_42454034/article/details/107885359

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐