wifi_hunter 1.0.3 copy "wifi_hunter: ^1.0.3" to clipboard
wifi_hunter: ^1.0.3 copied to clipboard

outdated

A flutter package to hunt down info from all WiFi APs around you.

wifi_hunter #

A flutter package to hunt down info from all WiFi APs around you.

version BSD License PRs Welcome

Getting Started #

The plugin only supports the android platform, and it's very unlikely to launch on iOS, because Apple refuses to provide permissions for that, so don't wait for that to come around. Credit where credit is due : This package is pretty much based on the wifi_info_plugin from @VTechJm, which you can check out here (https://github.com/VTechJm/wifi_info_plugin).

import 'package:flutter/services.dart';
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:wifi_hunter/wifi_hunter.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  WiFiInfoWrapper _wifiObject;

  @override
  void initState() {
    scanWiFi();
    super.initState();
  }

  Future<WiFiInfoWrapper> scanWiFi() async {
    WiFiInfoWrapper wifiObject;

    try {
      wifiObject = await WiFiHunter.huntRequest;
    } on PlatformException {}

    return wifiObject;
  }

  Future<void> scanHandler() async {
    _wifiObject = await scanWiFi();
    print("WiFi Results (SSIDs) : ");
    for (var i = 0; i < _wifiObject.ssids.length; i++) {
      print("- " + _wifiObject.ssids[i]);
    }
  }

  @override
  Widget build(BuildContext context) {
    scanHandler();

    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('WiFiHunter Example App'),
        ),
        body: Center (
          mainAxisSize: MainAxisSize.min,
          child: Column (
            children: <Widget>[
              Text ("Scanning... Please check Log for results..."),
              FlatButton (
                child: Text ("ReScan (after prev. scan is finished; await...)"),
                onPressed: () => scanHandler(),
              )
            ],
          )
        )
      ),
    );
  }
}

Functionality and Features #

Here is what infos you can get by using this package :

  • SSIDs ... _wifiObject.ssids

  • BSSIDs ... _wifiObject.bssids

  • Signal strength ... _wifiObject.signalStrengths

  • Frequencies ... _wifiObject.frequenies

  • Capabilities ... _wifiObject.capabilities

  • Channel width ... _wifiObject.channelWidths

    ... of all WiFi APs in reach.

The available SSIDs, BSSIDs and capabilities (= protocols, ex. EES, WPA2...) are returned as Java List<String>, while the frequencies and signal strengths (dBm) are returned as List<Integer>.

If you want to run a scan again just execute scanHandler();, and your _wifiObject. results will be refreshed. Scans, for usual, can run every 3 seconds.

NOTE : If you don't need to retrieve the WiFi channel width, you can still use v1.0.2 and implement it in applications with a min. SDK version of 16 without any disadvantages.

If anyone wants to, Pull requests are welcome 😉

25
likes
0
pub points
79%
popularity

Publisher

verified publishercatcloud.org

A flutter package to hunt down info from all WiFi APs around you.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on wifi_hunter