插件

我使用的是wifi_iot这个插件,版本是0.2.2,flutter版本是1.20.0。

dependencies:flutter:sdk: flutterwifi_iot: ^0.2.2

获取wifi名称

插件地址:https://pub.flutter-io.cn/packages/wifi_iot
main.dart 代码

import 'package:flutter/material.dart';
import 'package:wifi_iot/wifi_iot.dart';void main() => runApp(FlutterWifiIoT());class FlutterWifiIoT extends StatefulWidget {const FlutterWifiIoT({Key key}) : super(key: key);@override_FlutterWifiIoTState createState() => _FlutterWifiIoTState();
}class _FlutterWifiIoTState extends State<FlutterWifiIoT> {String wifiName = '--';@overridevoid initState() {super.initState();getWifiName();}getWifiName() async {String wifissid = await WiFiForIoTPlugin.getSSID();print('wifissid:' + wifissid);this.setState(() {wifiName = wifissid;});}@overrideWidget build(BuildContext context) {return MaterialApp(home: Scaffold(appBar: AppBar(title: Text('demo'),elevation: 20.0,centerTitle: true,),body: Container(child: Column(children: <Widget>[Text(wifiName),FlatButton(onPressed: getWifiName,child: Text('获取'),)],),),),);}
}

获取不到wifi名称

我遇到的情况是该插件在安卓7.0的设备上可以获取wifi名称,但是在安卓10上获取不到wifi名称。

主要是安卓10获取WiFi名称需要定位权限。

1,在项目目录:android\app\src\main\AndroidManifest.xml里添加以下权限。添加完成并不代表已授权,需要提示用户进行授。

<!--使用网络--><uses-permission android:name="android.permission.INTERNET" /><!--网络状态--><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--wifi状态权限--><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><!--位置信息--><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><!--如果是安卓10.0,需要后台获取连接的wifi名称则添加进程获取位置信息权限 --><uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /><!--android 10.0使用wifi api新添加的权限--><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

2,添加完成后还需要提示获取定位权限,用户授权后才能获取到WiFi名称,所以需要让用户授权。这里我是用的是permission_handler: ^3.0.1插件。

import 'package:flutter/material.dart';
import 'package:wifi_iot/wifi_iot.dart';
import 'package:permission_handler/permission_handler.dart';void main() => runApp(FlutterWifiIoT());class FlutterWifiIoT extends StatefulWidget {const FlutterWifiIoT({Key key}) : super(key: key);@override_FlutterWifiIoTState createState() => _FlutterWifiIoTState();
}class _FlutterWifiIoTState extends State<FlutterWifiIoT> {String wifiName = '--';@overridevoid initState() {super.initState();// 权限var permission =PermissionHandler().checkPermissionStatus(PermissionGroup.location);print("permission status is " + permission.toString());// 请求授权,location是定位权限。PermissionHandler().requestPermissions(<PermissionGroup>[PermissionGroup.location]);getWifiName();}getWifiName() async {String wifissid = await WiFiForIoTPlugin.getSSID();print('wifissid:' + wifissid);this.setState(() {wifiName = wifissid;});}@overrideWidget build(BuildContext context) {return MaterialApp(home: Scaffold(appBar: AppBar(title: Text('demo'),elevation: 20.0,centerTitle: true,),body: Container(child: Column(children: <Widget>[Text(wifiName),FlatButton(onPressed: getWifiName,child: Text('获取'),)],),),),);}
}

flutter 获取wifi名称以及Android10获取不到wifi名称<unknown ssid>相关推荐

  1. Android wifi开发包含列表获取点击连接wifi

    注意:编译sdk版本 minSdk 21 targetSdk 28 亲自测试,在Android10上正常使用 包依赖 implementation 'com.thanosfisherman.elvis ...

  2. 通过电脑获取WIFI密码(只能连接过的WiFi)

    通过电脑获取WIFI密码(只能连接过的WiFi) 通过电脑获取WiFi密码步骤很简单 第一步:键盘点击 win + r ,调出运行窗口. 第二步:键盘输入 cmd 回车,打开电脑黑窗口界面. 第三步: ...

  3. java 判断网络类型_Android 网络类型判断(2g、3g、wifi)及IP地址获取

    使用NetworkInfo的getType()方法可以判断是WiFi还是手机网络.手机网络的情况下,使用NetworkInfo的 getSubtype()方法再去和TelephonyManager的网 ...

  4. Android系统信息获取 之十四:获取WIFI热点相关信息

    当在Android设备终端上使用Wifi热点的时候,需要获知Wifi热点的运行状态,热点是否打开,连接到该WIFI热点的设备数量,以及连接设备的具体IP和MAC地址. 使用re文件管理器去" ...

  5. 获取应用包名、获取应用名称、获取MetaData值、获取应用所有Permission、获取permission对应描述信息

    // 获取acitivty所在的应用名称 public static String getAppName(Activity activity) {PackageManager pm = activit ...

  6. UWP开发:获取用户当前所在的网络环境(WiFi、移动网络、LAN…)

    原文:UWP开发:获取用户当前所在的网络环境(WiFi.移动网络.LAN-) UWP开发:获取用户当前所在的网络环境: 在uwp开发中,有时候,我们需要判断用户所在的网络,是WiFi,还是移动网络,给 ...

  7. flutter创建/导入区块链钱包,获取余额

    flutter创建/导入区块链钱包,获取余额 作为区块链行业小白刚接触区块链钱包几天,来开发钱包还是需要付出很多努力的.下面记录一下flutter框架下创建/导入区块链钱包,并获取余额 一.创建钱包: ...

  8. android获取wifi信号强度,Native.js 获取当前wifi信号强度

    使用Native.js获取当前WiFi的信号强度: //获取当前WiFi信号强度 function checkWifiSignal() { var Signal = null; var Context ...

  9. iOS 怎样获取wifi名(无法获取wifi名)(亲测有效)

    文章目录 1.代码实现 2.iOS12后要求在开发者网站的App ID Configuration和Xcode中打开wifi开关 3.ios13后要求用户授权开启定位权限,才能获取wifi名 1.代码 ...

最新文章

  1. UITableView 顶部空白总结
  2. 1.关于逆向工程(RE、RCE)-笔记
  3. python元组类型_什么是python元组数据类型
  4. python3 出现错误:TypeError: must be str, not list
  5. 使用T-SQL找出执行时间过长的作业
  6. [开源] FreeSql.AdminLTE.Tools 根据实体类生成后台管理代码
  7. Spring集成redis(Spring Data Redis)
  8. 【开源】iTest教学辅助系统源代码
  9. python—004
  10. js obj对象转formdata格式代码
  11. 深度学习模型加速方法
  12. aforge java_C#:视频与图像抓取(二)AForge.NET + WPF | 春小麦
  13. 华为U2000网管研究实录 (3) - 运行分析(服务端进程)
  14. Delphi微信公众号开发
  15. python是高级语言还是低级语言_高级与低级编程语言的解释,哪一种更容易上手?...
  16. Kubernetes Downward API的介绍及使用
  17. view里面内容左对齐或者右对齐
  18. 关于QPS高并发,你了解多少?
  19. facetune2 android,facetune2
  20. 反思“百果园们”:谁在侵蚀行业生态地基?

热门文章

  1. 深度学习之目标检测--Pytorch实战
  2. 为不喝的朋友准备的!如何委婉地拒绝劝酒
  3. 74cms|骑士cms|开源招聘系统,数据结构
  4. Python能不能只选择合并一个excel当中指定的sheet 当中指定的列呢?
  5. 教你在 Ubuntu 安装 uTorrent
  6. 全球与中国硅通孔(TSV)市场深度研究分析报告
  7. Python3实现向指定邮箱发送邮件(支持附件文件、图片等)
  8. [转] 两种老公,两种人生。。(女人该看,男生更该看)
  9. 计算机如何获取知识和技能 实现自我完善,在人工智能中有一个研究领域,主要研究计算机如何获取知识和技能,实现自我完善,这门分支学科叫做。...
  10. 关于游戏性能优化的一些感想