alternadom / Wififlutter
Programming Languages
Projects that are alternatives of or similar to Wififlutter
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 | ⚠️(5a) | ❌ |
Getting WiFi status | ✅ | ❌ |
Scanning for networks, with "already-associated" flag | ✅ | ❌ |
Connecting / Disconnecting on a network in WPA / WEP | ✅(5b) | ✅(1) |
Registering / Unregistering a WiFi network | ✅(5c) | ⚠️(2) |
Getting informations like : | ✅ | ⚠️(3) |
- SSID | ✅ | ✅ |
- BSSID | ✅ | ❌ |
- Current signal strength | ✅ | ❌ |
- Frequency | ✅ | ❌ |
- IP | ✅ | ❓(4) |
✅(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) : On iOS, you can just getting the SSID, or maybe(probably) I'm missing something!
❓(4) : I think there is a way to get the IP address but for now, this is not implemented..
⚠️(5): Wifi API changes in Android SDK >= 29, restricts certain behaviour:
- a. Enable/Disable Wifi Module is deprecated and will always fail (except DO, PO and system apps) [docs].
- 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 ⚠️(5c)), 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];
Access Point
Description | Android | iOS |
---|---|---|
Getting the status of the Access Point (Disable, disabling, enable, enabling, failed) | ✅ | ❌ |
Enabling / Disabling Access Point | ✅ | ❌ |
Getting / Setting new credentials (SSID / Password) | ✅ | ❌ |
Enabling / Disabling the visibility of the SSID Access Point | ✅ | ❌ |
Getting the clients list (IP, BSSID, Device, Reachable) | ✅ | ❌ |
Handling the MAC filtering | 🆘 | ❌ |
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!