Flutter 获取WiFi信息 [network_info_plus 库使用]

本文介绍了Flutter中的permission_handler和network_info_plus插件,重点讲解了如何在Android10及以上版本获取WiFi信息,包括权限请求和获取Wi-Fi名称、BSSID等网络详细数据。
摘要由CSDN通过智能技术生成

用到的库:

network_info_plus:

  用于发现网络信息(例如 WiFi 详细信息)的 Flutter 插件。

permission_handler:

Flutter 的权限插件。此插件提供跨平台(iOS、Android)API 来请求和检查权限。

使用说明:

安卓

从 Android 1O 开始,要成功获取 WiFi 名称或 Wi-Fi BSSID,请确保满足以下所有条件:

  • 如果您的应用以 Android 10(API 级别 29)SDK 或更高版本为目标,则您的应用需要具有 ACCESS_FINE_LOCATION 权限。
  • 如果您的应用的目标 SDK 低于 Android 10(API 级别 29),您的应用需要具有 ACCESS_COARSE_LOCATION 或 ACCESS_FINE_LOCATION 权限。
  • 设备上启用了位置服务(在“设置”>“位置”下)。
  • 如果您使用搭载 Android 12(API 级别 31)及更高版本的设备,请确保您的应用具有 ACCESS_NETWORK_STATE 权限。

笔记

默认情况下,此包不提供 ACCESS_FINE_LOCATION 或 ACCESS_COARSE_LOCATION 权限

使用:

//请求位置权限

var status = await Permission.location.status;

if (!status.isGranted) {

await Permission.location.request();

}

final info = NetworkInfo();

final wifiName = await info.getWifiName(); // "FooNetwork"

final wifiBSSID = await info.getWifiBSSID(); // 11:22:33:44:55:66

final wifiIP = await info.getWifiIP(); // 192.168.1.43

final wifiIPv6 =

await info.getWifiIPv6(); // 2001:0db8:85a3:0000:0000:8a2e:0370:7334

final wifiSubmask = await info.getWifiSubmask(); // 255.255.255.0

final wifiBroadcast = await info.getWifiBroadcast(); // 192.168.1.255

final wifiGateway = await info.getWifiGatewayIP(); // 192.168.1.1

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值