wifi_iot 0.3.10 copy "wifi_iot: ^0.3.10" to clipboard
wifi_iot: ^0.3.10 copied to clipboard

outdated

Flutter plugin which can handle WiFi connections and hotspot (AP, STA)

WiFiFlutter| wifi_iot

analysis pub.dev All Contributors pub points popularity likes

Introduction #

Plugin Flutter which can handle WiFi connections (AP, STA)

Becareful, some commands as no effect on iOS because Apple don't let us to do whatever we want...

WiFi connections #

Description Android iOS
Enabling / Disabling WiFi module ⚠️(3a)
Getting WiFi status
Scanning for networks, with "already-associated" flag
Connecting / Disconnecting on a network in WPA / WEP ✅(3b) ✅(1)
Registering / Unregistering a WiFi network ✅(3c) ⚠️(2)
Getting informations like :
- SSID
- BSSID
- Current signal strength
- Frequency
- IP

✅(1) : On iOS, you can only disconnect from a network which has been added by your app. In order to disconnect from a system network, you have to connect to an other!

⚠️(2) : On iOS, you can forget a WiFi network by connecting to it with the joinOnce flag to true!

⚠️(3): Wifi API changes in Android SDK >= 29, restricts certain behaviour:

  • a. Enable/Disable Wifi Module is deprecated and will always fail [docs]. If you want to open "Wifi Setting" in that case then, set the shouldOpenSettings: true when calling setEnabled.
  • b. For Connecting to Wifi, WEP security is deprecated and will always fail, also the network will be disconnected when the app is closed (if permanent network is required(Check ⚠️(3c)), use "Register Network" feature) [docs)]. By default the connection would not have internet access, to connect to network with internet user withInternet which is a different API underneath (this API will not disconnect to network after app closes) [docs].
  • c. Registering Wifi Network, will require user approval - and the network saved would not be controlled by the app (for deletion, updation, etc) [docs];

Additional Wifi protocols on Android side like - Wifi Direct, Wifi Aware, etc are in active discussion at #140. Encourage you to engage if you want this features.

Access Point #

Description Android iOS
Getting the status of the Access Point (Disable, disabling, enable, enabling, failed) ⚠️(1b)
Enabling / Disabling Access Point ✅(1c)
Getting / Setting new credentials (SSID / Password) ⚠️(1b)
Enabling / Disabling the visibility of the SSID Access Point ⚠️(1a)
Getting the clients list (IP, BSSID, Device, Reachable) ⚠️(1a)

⚠️(1): Wifi API changes in Android SDK 26 and 29, restricts certain behaviour:

  • a. This has been deprecated and will always fail for >= 26 Android SDK.
  • b. This has been deprecated and will always fail for >= 26 Android SDK. There is a way to make "get" methods work for >= 29 Android SDK, but is currently not implemented, request these features if you need them at #134.
  • c. Uses startLocalOnlyHotspot API to request enabling or disabling WiFi AP for >= 29 Android SDK. This can only be used to communicate between co-located devices connected to the created WiFi Hotspot. Note -
    • (i) Enabling and Disabling WiFi AP needs to request location permission.
    • (ii) The network created by this method will not have Internet access.
    • (iii) There's no way for the user to set WiFi AP's SSID and Passphrase, they are automatically generated by the OS.
    • (iv) This is actually a "request" and not a "command", as the LocalOnlyHotspot is shared (potentially) across applications and therefore a request to enable/disable may not not necessarily trigger the immediate execution of it.

For now, there is no way to set the access point on iOS...

Xcode build (iOS >= 8.0) #

To be able to build with Xcode, you must specify use_frameworks! in your Podfile to allow building Swift into static libraries.

Troubleshooting #

Don't hesitate and come here, we will be happy to help you!

Contributors ✨ #

Thanks goes to these wonderful people (emoji key):


Florian

🤔 💻 📖 💡 👀

yhua537

💻

Anhar Ismail

🎨

Tristan Linnell

🐛

Patrick Boos

💻 💡

Sébastien Faye

💻

Ben Hagen

🐛 💻

Võ Ngọc Minh

🐛

Cesar Sanz

🐛 💻

Kvikk

💻

Bob

🐛 💻

Richard Tarnoczi

🐛

Matthijs Meulenbrug

🐛

Crifan Li

🐛 💻

Julien Robert

💻 💡 📖

Nicolas Juelle

🐛 💻 📖

Niek van der Maas

🐛 👀 💻

Nicolas B

🐛

Harsh Bhikadia

💻 👀 🚧 📖 🤔

Josip Krnjic

🐛

Conner Aldrich

🐛

Pierre Rossinès

💻

andzejsw

🐛

Sanjay Sah

🐛

Dreamwalker

🐛

Kriss_Frost

🐛

Binh Do D.

🐛

Quan Nguyen H. VN.Danang

💻

Guy Luz

🐛

yurir

🐛

BillMac4440

🐛 👀

Federico Pellegrin

💻 👀 🐛 📖

Diego Tori

👀

IskanderA1

💻

EgHubs

🐛

Maverick G. Fabroa

💻 💡 📖 👀

Benoit Duffez

🐛

Justin DeSimpliciis

💻

Dominik Starke

🐛 💻

FelixSmart

🐛

Brian Semrau

🐛

Hallot

🐛 💻

Pedro Albuquerque

🐛

Starsoft4u

🐛

troyredder

🐛

This project follows the all-contributors specification. Contributions of any kind welcome!

244
likes
0
pub points
97%
popularity

Publisher

verified publisherflutternetwork.dev

Flutter plugin which can handle WiFi connections and hotspot (AP, STA)

Homepage
Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on wifi_iot