十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
import 'package:device_info/device_info.dart';
成都创新互联致力于互联网网站建设与网站营销,提供做网站、网站建设、网站开发、seo优化、网站排名、互联网营销、重庆小程序开发公司、公众号商城、等建站开发,成都创新互联网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。
///是否是ipad
static bool isIpad = false;
static checkIpadFunc() async {
if (Platform.isAndroid == false) {
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
IosDeviceInfo info = await deviceInfo.iosInfo;
print('======a=======a=======a=======a========a======= {info.model}');
print('======a=======a=======a=======a========a======= {info.utsname.machine.toLowerCase()}');
print('======a=======a=======a=======a========a=======${info.systemName}');
isIpad = info.utsname.machine.toLowerCase().contains("ipad");
}
}
完成Flutter的Android配置之后,连上设备,运行flutter doctor,发现已经识别了一个可用设备了
但是用Android Studio新建Flutter项目之后,却一直显示未找到设备。
就是要配置一下flutter关联的android sdk路径和android studio文件夹,运行如下命令:
例如:
flutter config --android-sdk D:\android_studioSDK
字体加粗部分为android sdk路径。
运行之后:如果出现:
Setting "android-sdk" value to "D:\android_studioSDK".
那就成功了。
于是就有了写作本文的动力,--------解决同时连接多台蓝牙设备!!!
flutter_blue 适合于单台的蓝牙设备,使用起来简单
flutter_reactive_ble 适合于单台的蓝牙设备,多台蓝牙设备也可以用
flutter_ble_lib 适合于单台的蓝牙设备,多台蓝牙设备也可以用,可以在模拟器上进行调试蓝牙
感觉后2个第三方库都可以使用,本人先入为主使用了flutter_reactive_ble,所以本文以flutter_reactive_ble为基础进行介绍
先声明4个全局变量,后面会用到
开始扫描
如果扫描过程,不使用过滤条件,withServices这个参数可以给个空数组
停止扫描如下
连接设备
断开设备,
每连接成功一个设备后,就会产生一个_connectionStreamSubscription,对应设备的断开,就用对应的StreamSubscription去断开, 可以用一个HashMap,去记录 连接成功的设备 与 StreamSubscription 的对应关系
去扫描服务,并过滤服务,扫描结果服务里面是包含有特征的数组,如: serviceId:[fff0,fff1,fff2,fff3,...]
去监听上报来的数据,参数来自前面扫描到的结果serviceId--服务ID, characteristicId--特征ID,deviceId--设备ID
后面就是各位看官根据自己的需求去做逻辑处理啦。
对设备设置命令,发送请求(写操作),list为整形数据,要写的数据
读取设备的信息(读操作)
flutter 多台蓝牙设备同时连接的分享就到这里喽,小伴们,觉得有点用的话,或者已经看到这里面来的请点个赞吧~~ 后续分享更多有关flutter的文章。如果有疑问的话,请在下方留言~
过一段时间后,我在项目把这个蓝牙库用起来了,基本能满足日常需求.效果如下:
解决方式:
修改 var/db/lockdown 文件夹的读写权限
步骤:
Finder -前往菜单-前往文件夹-进入 /var/db/
找到 lockdown 文件夹 -右键,显示简介-底部的‘共享与权限’ 项,打开右下角的锁(输入电脑密码)-加号,将自己的账号添加进权限表中,修改自己的权限为‘读与写’ -锁定权限表即可。
再执行 flutter doctor 进行查看即可
运行下方命令,如果提示 -bash: flutter: command not found,请检查 PATH设置
启动模拟器后,使用以下命令检测是否可用。不知道如何启用模拟器的,可以去查看 模拟器配置方法
提示有可用设备时,使用以下命令运行flutter应用
注意 :需要进入到flutter应用根目录下,执行 flutter run才有效,执行成功后如下图
打开testApp/lib/main.dart文件,如图
在命令行中按照提示输入 r 刷新模拟器页面
Flutter项目可以用三种方式开发:
可以根据自己的需求选择,由于之前一直做iOS开发,也做过RN项目开发,Mac上装过Android Studio 和 其他安卓模拟器 Genymotion ,所以我选择Android Studio开发工具,之前装的版本 3.0.1 比较老了,所以进行了升级 3.4 。
体验Flutter
PS:第一次创建项目可以成功,之后再执行这一步操作创建新的Flutter项目时,一直卡住,重启过很多次Android Studio一直都是这样,后面查询资料,发现自己没有同意使用 android-licenses ,可以通过下列命令验证,第一步,先验证:
第一步检测结果,发现是需要同意 android-licenses :
第二步执行同意命令,操作时会有很多个 android-licenses 需要同意:
第二步检测结果:
第三步再次验证,当得到以下截图中结果时,代表所有环境配置已经完成:
上述命令创建一个Flutter项目,项目名为 myapp ,在项目目录中,有安卓和iOS两个项目目录。
Android Studio中会列出所有已经连接了电脑的设备,包括安卓和iPhone。如果想在模拟器上运行,下面可以选择对应的模拟器,如图:
PS:如果想在模拟器上运行,需要先安装一个模拟器,选择Tools AVD Manager,如图:
然后选择Create Virtual Device,根据提示一步一步操作即可(建议翻墙条件下操作),添加完成后就可以在这个界面看到自己已经添加的模拟器,点击绿色的运行按钮,即可打开该模拟器: