Closed gupta-shrinath closed 2 years ago
I get bssid also too 02:00:00:00:00:00 from Pixel 4A Android 12
@huangyanxiong01 Have the read the following in the package description?
To successfully get WiFi Name or Wi-Fi BSSID starting with Android 1O, ensure all of the following conditions are met:
If your app is targeting Android 10 (API level 29) SDK or higher, your app needs to have the ACCESS_FINE_LOCATION permission. If your app is targeting SDK lower than Android 10 (API level 29), your app needs to have the ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission. Location services are enabled on the device (under Settings > Location).
This package does not provide the ACCESS_FINE_LOCATION nor the ACCESS_COARSE_LOCATION permission by default
For me, it works in the debug version but for some reason, in the release version the details are showing up as null.
Thank you. I resolved this.
@huangyanxiong01 Does this work for you in the release version of the app? If so could you please share your source code for me to know what I'm doing wrong.
in app build.gradle
compileSdkVersion 31
in project gradle.properties
android.enableJetifier=true
android.useAndroidX=true
Add permission to AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
In your class add function
Future<bool> requestWifiInfoPermisson() async {
// ignore: avoid_print
print('Checking Android permissions');
PermissionStatus status = await Permission.location.status;
// Blocked?
if (status.isDenied || status.isRestricted) {
// Ask the user to unblock
if (await Permission.location.request().isGranted) {
// Either the permission was already granted before or the user just granted it.
// ignore: avoid_print
print('Location permission granted');
return true;
} else {
// ignore: avoid_print
print('Location permission not granted');
return false;
}
} else {
// ignore: avoid_print
print('Permission already granted (previous execution?)');
return true;
}
get WIFI info when permission granted
bool isGranted = await requestWifiInfoPermisson();
if (isGranted) {
String? wifiName = await info.getWifiName(); // FooNetwork
String? wifiBSSID = await info.getWifiBSSID(); // 11:22:33:44:55:66
}
@gupta-shrinath It work fine in my release app. Good luck
@huangyanxiong01 Do you get / in front of the broadcast ip address? As shown in the following
/192.168.0.255
@gupta-shrinath same as you
@huangyanxiong01 I'm afraid I didn't get you.
@gupta-shrinath same as you Sry. my spelling error
@huangyanxiong01 Oh it's ok. So we can agree that in broadcast address provided by the package the output is / and then the IP address. Although this issue can be resolved by just replacing the / with space. This still remains a issue.
This still remains an issue.
Thanks for reporting it. Checked and can confirm that /
is added. I will fix it in one of next PRs.
As to not working in release mode - what helped you in the end?
Thanks for confirming the issue. Regarding not working in release mode I believe after rebuild it worked.
Hi @gupta-shrinath , did you manage to solve your issue (did you solved it asking for the permissions at runtime), or at a later build?
Hi @fabiancrx yeah, it resolved after a rebuild I believe. You have to ask for the permissions mentioned above.
Thanks @gupta-shrinath , @miquelbeltran should we close this issue as is, or maybe add a minimal code example in the README ?
Adding an explanation to the README is more than welcome. If anyone wants to submit the PR please do.
I would love to work on it. @miquelbeltran can you please elaborate on what needs to added to README and any suggestions. Excited to be able contribute!
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 15 days
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 15 days
System info
Issue occurs on: Android Plugin name: network_info_plus Plugin version: ^2.1.1 Flutter doctor output:
Steps to Reproduce
The name, bssid, broadcast, ipv4, ipv6, subnet mask, and gateway for wifi are correct in the debug version of the app. In the release version of the app the following issues arise:
Here is the function
I'm testing on Android version 10 QKQ1.191215.002 Device name Poco M2 Pro. The location services are on and permission to the app is given as well.
Logs
Flutter analyze
I don't think this has to do something with the issue.
Flutter doctor -v