Hi Guys, Welcome to Proto Coders Point, In this Android Tutorial we will check out How to get mac address of android phone programmatically – find mac address android devices.
So let’s begin
Find MAC Address of android Device Programmatically
Step 1 : Create a new Android Project
Step 2 : Add required Permission
Then, to get MAC Address of any android device you need to add some permission like ACCESS WIFI STATE, INTERNET, ACCESS NETWORK STATE.
To add them:
In your Android Manifest.xml file add below uses permission, just before <application> tag begin
<uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Step 3: Create a method GetMacAddress
Now, create a method that help you in getting mac address of your android mobile device.
public String getMacAddress(){
try{
List<NetworkInterface> networkInterfaceList = Collections.list(NetworkInterface.getNetworkInterfaces());
String stringMac = "";
for(NetworkInterface networkInterface : networkInterfaceList)
{
if(networkInterface.getName().equalsIgnoreCase("wlon0"));
{
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;
}
}
return stringMac;
}catch (SocketException e)
{
e.printStackTrace();
}
return "0";
}
Step 4: Call the above method
By calling above getMacAddress() you will get mac address of android device.
String mobile_mac_addres = getMacAddress(); //call the method that return mac address
Log.d("MyMacIS",mobile_mac_address); // print the mac address on logcat screen
Here, we are calling getMacAddress() method and storing the MAC ADDRESS in a String Varaible.
How to get mac address of android phone programmatically – Complete Source Code
MainActivity.java
package com.example.getmacaddress;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
public class MainActivity extends AppCompatActivity {
String mobile_mac_address;
TextView macaddress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
macaddress = (TextView)findViewById(R.id.macaddress);
mobile_mac_address = getMacAddress();
Log.d("MyMacIS",mobile_mac_address);
macaddress.setText(mobile_mac_address);
}
public String getMacAddress(){
try{
List<NetworkInterface> networkInterfaceList = Collections.list(NetworkInterface.getNetworkInterfaces());
String stringMac = "";
for(NetworkInterface networkInterface : networkInterfaceList)
{
if(networkInterface.getName().equalsIgnoreCase("wlon0"));
{
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;
}
}
return stringMac;
}catch (SocketException e)
{
e.printStackTrace();
}
return "0";
}
}
activity_main.xml
<?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/macaddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>





