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

用到的库:

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
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容