flutter_internet_signal 0.0.43 copy "flutter_internet_signal: ^0.0.43" to clipboard
flutter_internet_signal: ^0.0.43 copied to clipboard

PlatformAndroid

Package get internet signal using Flutter, the value is dBm.

Flutter Internet Signal #

A Flutter plugin for Android to retrieve mobile and Wi-Fi signal information.

Returns the received signal strength indicator (RSSI) of the current network in dBm.
The dBm value is negative — the closer to 0, the better the signal (e.g., -30 is excellent, -100 is poor).

Platform Status
Android ✅ Supported (21+)
iOS 🛠️ In development

✨ New method - getWifiSignalInfo() #

  • Deprecated: getWifiSignalStrength() and getWifiLinkSpeed()
  • New: getWifiSignalInfo() method returns the class WifiSignalInfo.

WifiSignalInfo #

Property Type Description
dbm int? Wi-Fi signal strength (in dBm)
mbps int? Wi-Fi link speed (in Mbps)
frequency int? Wi-Fi frequency (in MHz)
ssid String? Wi-Fi network name (SSID)
bssid String? MAC address of the access point (BSSID)
ip String? Local IP address

⚠️ About SSID and BSSID Limitations #

Due to privacy restrictions introduced in recent Android versions, SSID and BSSID may not be returned correctly under certain conditions.

  • The device is running Android 8.0 (API 26) or higher without location permissions (ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION).
  • Location services must be enabled on the device (starting from Android 10+), even if the app has location permissions.
  • The device is not connected to a real Wi-Fi network, or the network is hidden

Expected behavior

In these cases, SSID may return null or "unknown ssid", and BSSID may return a placeholder like "02:00:00:00:00:00".

Android #

Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle file.

minSdkVersion 21

Add permissions in your manifest file for mobile and wifi network:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Example #

import 'package:flutter_internet_signal/flutter_internet_signal.dart';

void main() async {
  final FlutterInternetSignal internetSignal = FlutterInternetSignal();
  final mobileSignal = await internetSignal.getMobileSignalStrength();
  final wifiSignal = await internetSignal.getWifiSignalInfo();
  print('Result dBm -> $mobileSignal');
  print('Result wifi info -> ${wifiSignal.toString()}');
}

For a more elaborate usage example, build and debug main.dart

11
likes
160
points
4.97k
downloads

Publisher

unverified uploader

Weekly Downloads

Package get internet signal using Flutter, the value is dBm.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on flutter_internet_signal

Packages that implement flutter_internet_signal