Below, I’m going to teach you “How to Get the Mac Address (Physical Hardware Address) of your phone’s (Wifi) network from your Android App?” Let’s start the article to learn about it.

Get the Mac Address (Physical Hardware Address) of your phone’s (Wifi) network from your Android App
package com.programmerworld.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Collections;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
}
public void buttonClick(View view){
try {
List<NetworkInterface> networkInterfaceList = Collections.list(NetworkInterface.getNetworkInterfaces());
String stringMac = "";
for (NetworkInterface networkInterface:networkInterfaceList){
if (networkInterface.getName().equalsIgnoreCase("wlan0")){
for (int i=0; i<networkInterface.getHardwareAddress().length;i++){
String stringMacByte = Integer.toHexString(networkInterface.getHardwareAddress()[i] & 0xFF);
if (stringMacByte.length() == 1){
stringMacByte = "0" + stringMacByte;
}
stringMac = stringMac + stringMacByte.toUpperCase() + ":";
}
break;
}
}
textView.setText(stringMac.substring(0,stringMac.length()-1));
} catch (SocketException e) {
e.printStackTrace();
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.programmerworld.myapplication">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="107dp"
android:layout_marginTop="101dp"
android:onClick="buttonClick"
android:text="@string/get_mac_address"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Final Words
I hope this article helps you to know about “How to Get the Mac Address (Physical Hardware Address) of your phone’s (Wifi) network from your Android App”. If you face any issues please let me know via the comment section. Share this article with other Android program developers via social networks.