I want to know that my Mobile device is in Wi-Fi Direct or in hotspot connection programmatically. Thanks please help me.
Asked
Active
Viewed 92 times
0
-
Go through [with this link](http://stackoverflow.com/a/8548926/8012913) – nivesh shastri May 16 '17 at 05:48
1 Answers
1
For wifi-direct
First add permissions in manifest
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.nsdchat"
...
<uses-permission
android:required="true"
android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission
android:required="true"
android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission
android:required="true"
android:name="android.permission.INTERNET"/>
Then in onCreate()
private final IntentFilter intentFilter = new IntentFilter();
...
public void onCreate(Bundle savedInstanceState) {
WifiP2pManager manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
WifiP2pManager.Channel channel = manager.initialize(this, getMainLooper(), null);
intentFilter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION);
}
Check this link for more methods and details
For hotspot
public void getClientList() {
int macCount = 0;
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("/proc/net/arp"));
String line;
while ((line = br.readLine()) != null) {
String[] splitted = line.split(" +");
if (splitted != null ) {
// Basic sanity check
String mac = splitted[3];
System.out.println("Mac : Outside If "+ mac );
if (mac.matches("..:..:..:..:..:..")) {
macCount++;
/* ClientList.add("Client(" + macCount + ")");
IpAddr.add(splitted[0]);
HWAddr.add(splitted[3]);
Device.add(splitted[5]);*/
System.out.println("Mac : "+ mac + " IP Address : "+splitted[0] );
System.out.println("Mac_Count " + macCount + " MAC_ADDRESS "+ mac);
Toast.makeText(
getApplicationContext(),
"Mac_Count " + macCount + " MAC_ADDRESS "
+ mac, Toast.LENGTH_SHORT).show();
}
/* for (int i = 0; i < splitted.length; i++)
System.out.println("Addressssssss "+ splitted[i]);*/
}
}
} catch(Exception e) {
}
}

Abdul Kawee
- 2,687
- 1
- 14
- 26
-
@Abdual Kawee : my question is different there are two type of wifi 1. direct and second one is hotspot https://www.quora.com/What-is-the-difference-between-Wi-Fi-Direct-and-Wi-Fi-hotspot-in-mobile please see difference after you can know more :) – Pradeep Bishnoi May 16 '17 at 06:04
-
-
@PradeepBishnoi I read the link , its exactly what is shared, detection of wifi direct and hotspot, the problem there is no direct method available to differentiate the connectivity you have to make your own logic, above code will help you – Abdul Kawee May 16 '17 at 06:07