Hi i want to get the mac address on my android device. i use bridge from react native to java and i got 02:00:00:00:00:00 This is my java code:
package com.deviceinfo.MacAddress;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.Callback;
public class MacAddressModule extends ReactContextBaseJavaModule {
public MacAddressModule(ReactApplicationContext reactContext) {
super(reactContext);
}
@Override
public String getName() {
return "MacAddressModule";
}
@ReactMethod
public void getMacAddress(Callback callback) {
try {
Context context = getReactApplicationContext();
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String macAddress = wifiInfo.getMacAddress();
callback.invoke(macAddress);
} catch (Exception e) {
callback.invoke(null);
}
}
}
And here How i imported java file from react native:
const { MacAddressModule } = NativeModules;
MacAddressModule.getMacAddress((macAddress) => {
console.log(macAddress);
});
AndroidManifest.xml: i have these permissions: <uses-permission
android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET"/>
i have searched a lot on the internet but i didn't find any useful information