如何获取 Wifi Mac 地址或其他 Android 6.0 中唯一的地址
How to get Wifi Mac address or something else which is unique in Android 6.0
你好支持者我正在开发我的应用程序,它从 user.This 工作文件获取 WiFi Mac 地址,直到 Android 6.0 进入市场。现在我得到 Mac 像 02:00:00 等等。我也使用下面的方法来获取 Wifi mac 但它 returns 对于所有设备都是一样的。我想在 mac 的基础上在我的应用程序中注册。现在我应该从 android 设备中获取什么是唯一的,是 IP 地址还是其他请建议。谢谢。
public static String getMacAddr() {
try {
List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces());
for (NetworkInterface nif : all) {
if (!nif.getName().equalsIgnoreCase("wlan0")) continue;
byte[] macBytes = nif.getHardwareAddress();
if (macBytes == null) {
return "";
}
StringBuilder res1 = new StringBuilder();
for (byte b : macBytes) {
res1.append(String.format("%02X:",b));
}
if (res1.length() > 0) {
res1.deleteCharAt(res1.length() - 1);
}
return res1.toString();
}
} catch (Exception ex) {
}
return "02:00:00:00:00:00";}
检查下方 link 以了解 Android 中的唯一 ID。希望这会有所帮助
我解决了上面感谢大牛的问题是正确的:
public static String getMacAddr() {
try {
List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces());
for (NetworkInterface nif : all) {
if (!nif.getName().equalsIgnoreCase("wlan0")) continue; //instead of wlan0 i used eth0
byte[] macBytes = nif.getHardwareAddress();
if (macBytes == null) {
return "";
}
StringBuilder res1 = new StringBuilder();
for (byte b : macBytes) {
res1.append(String.format("%02X:",b));
}
if (res1.length() > 0) {
res1.deleteCharAt(res1.length() - 1);
}
return res1.toString();
}} catch (Exception ex) {
}`return "02:00:00:00:00:00";}
问题出在 Android 媒体盒(电视)中,我们应该使用 "eth0" 而不是 "wlan0",而在 6 以上的移动设备中,我们应该使用 "wlan0"。谢谢。
你好支持者我正在开发我的应用程序,它从 user.This 工作文件获取 WiFi Mac 地址,直到 Android 6.0 进入市场。现在我得到 Mac 像 02:00:00 等等。我也使用下面的方法来获取 Wifi mac 但它 returns 对于所有设备都是一样的。我想在 mac 的基础上在我的应用程序中注册。现在我应该从 android 设备中获取什么是唯一的,是 IP 地址还是其他请建议。谢谢。
public static String getMacAddr() {
try {
List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces());
for (NetworkInterface nif : all) {
if (!nif.getName().equalsIgnoreCase("wlan0")) continue;
byte[] macBytes = nif.getHardwareAddress();
if (macBytes == null) {
return "";
}
StringBuilder res1 = new StringBuilder();
for (byte b : macBytes) {
res1.append(String.format("%02X:",b));
}
if (res1.length() > 0) {
res1.deleteCharAt(res1.length() - 1);
}
return res1.toString();
}
} catch (Exception ex) {
}
return "02:00:00:00:00:00";}
检查下方 link 以了解 Android 中的唯一 ID。希望这会有所帮助
我解决了上面感谢大牛的问题是正确的:
public static String getMacAddr() {
try {
List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces());
for (NetworkInterface nif : all) {
if (!nif.getName().equalsIgnoreCase("wlan0")) continue; //instead of wlan0 i used eth0
byte[] macBytes = nif.getHardwareAddress();
if (macBytes == null) {
return "";
}
StringBuilder res1 = new StringBuilder();
for (byte b : macBytes) {
res1.append(String.format("%02X:",b));
}
if (res1.length() > 0) {
res1.deleteCharAt(res1.length() - 1);
}
return res1.toString();
}} catch (Exception ex) {
}`return "02:00:00:00:00:00";}
问题出在 Android 媒体盒(电视)中,我们应该使用 "eth0" 而不是 "wlan0",而在 6 以上的移动设备中,我们应该使用 "wlan0"。谢谢。