Java 在Android 6.0上获得wifi mac
我有一个使用MAC地址注册的应用程序。大家都知道,在android 6.0中,你不能再使用旧方法来实现这一点。我的问题是它似乎不是一个直接的GETMAC地址。希望有人能为android 6.0提供帮助+ 我的代码如下Java 在Android 6.0上获得wifi mac,java,android,Java,Android,我有一个使用MAC地址注册的应用程序。大家都知道,在android 6.0中,你不能再使用旧方法来实现这一点。我的问题是它似乎不是一个直接的GETMAC地址。希望有人能为android 6.0提供帮助+ 我的代码如下 public void getMacAddress() { WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wInfo = wifiMa
public void getMacAddress()
{
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wifiManager.getConnectionInfo();
String macAddress = wInfo.getMacAddress();
Log.e("address", "mac address:" + macAddress);
pref = getSharedPreferences(Constant.PREF_APPDATA, MODE_PRIVATE);
edit=pref.edit();
if(macAddress!=null)
edit.putString(Constant.P_DEVICEID, macAddress);
// else
// Toast.makeText(this," WiFi MAC address not found.", Toast.LENGTH_SHORT).show();
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
if( tm.getDeviceId()== null)
{
//edit.putBoolean(Constant.P_IS_TABLET, true);
//Toast.makeText(Activity_Audio.this, "Tablet", Toast.LENGTH_SHORT).show();
}
else
{
//Toast.makeText(Activity_Audio.this, "Not Tablet", Toast.LENGTH_SHORT).show();
}
edit.commit();
}
我认为在Android 6+中,获取mac地址是不可取的。相反,函数总是返回00:00:00:00:00。您应该使用NetworkInterface中的getHardwareAddress()来获取它。您是否有机会告诉我需要做什么?我是个傻瓜/在NetworkInterface.getNetworkInterfaces()上循环,并在wifi接口上调用getHardwareAddress()。使用getName()并选中“wlan0”。wlan0很可能是您的wifi接口。否则你必须找到他漂亮的名字。你能给我发电子邮件吗?aiche@mt2015.com