android 读取mac地址,有两种方式:
1.
public String macAddress=null;
public void getWifiMacAddress(Context context) {
final WifiManager wifi=(WifiManager)c.getSystemService(Context.WIFI_SERVICE);
if(wifi==null) return;
WifiInfo info=wifi.getConnectionInfo();
this.macAddress=info.getMacAddress();
if(this.macAddress==null && !wifi.isWifiEnabled()) {
new Thread() {
@Override
public void run() {
wifi.setWifiEnabled(true);
for(int i=0;i<10;i++) {
WifiInfo _info=wifi.getConnectionInfo();
macAddress=_info.getMacAddress();
if(macAddress!=null) break;
Thread.sleep(500);
}
wifi.setWifiEnabled(false);
}
}.start();
}
}
要留意需要下边的Permission
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
2.
/*
* Load file content to String
*/
public static String loadFileAsString(String filePath) throws java.io.IOException{
StringBuffer fileData = new StringBuffer(1000);
BufferedReader reader = new BufferedReader(new FileReader(filePath));
char[] buf = new char[1024];
int numRead=0;
while((numRead=reader.read(buf)) != -1){
String readData = String.valueOf(buf, 0, numRead);
fileData.append(readData);
}
reader.close();
return fileData.toString();
}
/*
* Get the STB MacAddress
*/
public String getMacAddress(){
try {
return loadFileAsString("/sys/class/net/eth0/address")
.toUpperCase().substring(0, 17);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
分享到:
相关推荐
然而,由于隐私保护政策的变化,Android对于获取Mac地址的方式进行了限制,使得这个过程比以前复杂了一些。本文将详细介绍如何在不同版本的Android系统上获取Mac地址。 在Android 6.0(API级别23)之前,开发者可以...
在Android系统中,由于安全和隐私考虑,直接通过Java API获取MAC地址的权限受到了限制。因此,开发者有时需要通过JNI来绕过这些限制,直接访问底层系统接口。 首先,我们需要创建一个JNI函数,这个函数将在C/C++...
然而,由于隐私和安全考虑,从Android 6.0(API级别23)开始,系统对获取MAC地址进行了限制,使得直接获取变得复杂。以下是对Android获取MAC地址源码的详细解析。 首先,我们需要了解在不同Android版本下的获取方法...
Android设备安装此apk之后,运行就可以看到设备的ID和Mac地址。
Android 手机获取 Mac 地址是 Android 开发中非常重要的一个话题,Mac 地址是每个网络设备唯一的标识符,获取 Mac 地址可以用于设备识别、网络管理等方面。本文将为大家介绍 Android 手机获取 Mac 地址的几种方法。 ...
Android 6.0 获取 Wi-Fi Mac 地址为 02:00:00:00:00:00 问题解决方法 Android 6.0 中,获取 Wi-Fi Mac 地址的方法发生了变化,之前使用的方法将返回 02:00:00:00:00:00,这是因为 Google 官方为了保护用户数据,从 ...
以下是Android获取MAC地址的三种常见方法: ### 1. 使用`WifiManager` `WifiManager`是Android提供的一个系统服务,主要用于处理Wi-Fi相关的操作。通过它,我们可以获取到连接的Wi-Fi接口的MAC地址。首先,你需要...
由于隐私和安全原因,从Android 6.0(API级别23)开始,系统对此进行了限制,不再允许应用直接获取Mac地址。不过,仍有一些方法可以尝试获取Mac地址,尤其是在系统层面或具有特定权限的应用中。以下将详细介绍如何...
首先,我们需要了解Android API中关于获取Mac地址的变化。在Android 6.0之前,可以通过`WifiManager`类的`getMacAddress()`方法直接获取。但随着权限管理的加强,这个方法返回的是一个固定的"02:00:00:00:00:00"字符...
有些软件还要根据Mac地址来判定当前用户以前是否登录过。下面将一一介绍获取这些手机状态信息的方法。 1 通过build获取手机硬件信息 运用反射获取Build信息,然后从build中得到对应字段的值。这种情况适用于获取...
在本文中,我们将深入探讨如何适配不同版本的Android系统来获取Mac地址。 首先,我们要明白,Android 6.0(API级别23)及更高版本对隐私保护加强,直接通过`WifiManager`获取Mac地址会返回一个固定的“02:00:00:00:...
本解决方案主要针对如何通过JNI在Android设备上获取MAC地址。 MAC地址(Media Access Control Address)是网络设备的物理地址,每个网络接口控制器都有一个唯一的MAC地址,用于标识网络上的设备。在Android系统中,...
基于Android10.0的设备上,获取相应的MAC地址,手机IMEI号,手机号,手机MSISDN号,手机ICCID号,进行可行性验证,特别是MAC地址方面,在Android10.0前后的设备均进行相应的接口验证,保证其可用性。适合正在致力于...
1. **权限**:获取MAC地址需要在AndroidManifest.xml中添加`ACCESS_WIFI_STATE`和`ACCESS_COARSE_LOCATION`权限,而从API 23(Android 6.0)开始,动态请求`ACCESS_FINE_LOCATION`权限才能获取MAC地址。 2. **API...
在Android系统中,获取蓝牙设备的Mac地址是一个关键的操作,特别是在进行蓝牙通信或者需要识别不同设备时。然而,从Android 6.0(API级别23)开始,系统为了增强用户隐私保护,对蓝牙和Wi-Fi的Mac地址进行了随机化...
获取MAC地址则相对复杂一些,因为Android在6.0及以上版本对MAC地址进行了隐私保护,不再允许直接获取。但在较低版本中,你可以通过以下方式获取: ```java public String getMacAddress() { try { List...
Android 手机获取 Mac 地址的方法 Android 手机获取 Mac 地址是一种常见的需求,特别是在移动应用程序中需要获取设备的唯一标识符时。Mac 地址是一种用于标识网络设备的地址,它通常由 6 个字节组成,通常以冒号...