`

android 读取mac地址

阅读更多
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系统上获取Mac地址。 在Android 6.0(API级别23)之前,开发者可以...

    android jni获取 Mac地址

    在Android系统中,由于安全和隐私考虑,直接通过Java API获取MAC地址的权限受到了限制。因此,开发者有时需要通过JNI来绕过这些限制,直接访问底层系统接口。 首先,我们需要创建一个JNI函数,这个函数将在C/C++...

    android 获取mac地址源码

    然而,由于隐私和安全考虑,从Android 6.0(API级别23)开始,系统对获取MAC地址进行了限制,使得直接获取变得复杂。以下是对Android获取MAC地址源码的详细解析。 首先,我们需要了解在不同Android版本下的获取方法...

    获取Android设备ID和Mac地址的apk

    Android设备安装此apk之后,运行就可以看到设备的ID和Mac地址。

    Android手机获取Mac地址的几种方法

    Android 手机获取 Mac 地址是 Android 开发中非常重要的一个话题,Mac 地址是每个网络设备唯一的标识符,获取 Mac 地址可以用于设备识别、网络管理等方面。本文将为大家介绍 Android 手机获取 Mac 地址的几种方法。 ...

    解决Android 6.0获取wifi Mac地址为02:00:00:00:00:00问题

    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

    以下是Android获取MAC地址的三种常见方法: ### 1. 使用`WifiManager` `WifiManager`是Android提供的一个系统服务,主要用于处理Wi-Fi相关的操作。通过它,我们可以获取到连接的Wi-Fi接口的MAC地址。首先,你需要...

    如何使用Java代码获取Android移动终端Mac地址.zip

    由于隐私和安全原因,从Android 6.0(API级别23)开始,系统对此进行了限制,不再允许应用直接获取Mac地址。不过,仍有一些方法可以尝试获取Mac地址,尤其是在系统层面或具有特定权限的应用中。以下将详细介绍如何...

    Android获取本地Wifi的Mac地址[实测MIUI Android8.1]

    首先,我们需要了解Android API中关于获取Mac地址的变化。在Android 6.0之前,可以通过`WifiManager`类的`getMacAddress()`方法直接获取。但随着权限管理的加强,这个方法返回的是一个固定的"02:00:00:00:00:00"字符...

    Android获得设备状态信息、Mac地址、IP地址的方法

    有些软件还要根据Mac地址来判定当前用户以前是否登录过。下面将一一介绍获取这些手机状态信息的方法。 1 通过build获取手机硬件信息 运用反射获取Build信息,然后从build中得到对应字段的值。这种情况适用于获取...

    Android开发获取手机Mac地址适配所有Android版本

    在本文中,我们将深入探讨如何适配不同版本的Android系统来获取Mac地址。 首先,我们要明白,Android 6.0(API级别23)及更高版本对隐私保护加强,直接通过`WifiManager`获取Mac地址会返回一个固定的“02:00:00:00:...

    jni获取Android设备MAC Address最完美解决方案

    本解决方案主要针对如何通过JNI在Android设备上获取MAC地址。 MAC地址(Media Access Control Address)是网络设备的物理地址,每个网络接口控制器都有一个唯一的MAC地址,用于标识网络上的设备。在Android系统中,...

    基于Android10.0的MAC地址,IMEI号,手机号,MSISDN号,ICCID号获取的可行性验证

    基于Android10.0的设备上,获取相应的MAC地址,手机IMEI号,手机号,手机MSISDN号,手机ICCID号,进行可行性验证,特别是MAC地址方面,在Android10.0前后的设备均进行相应的接口验证,保证其可用性。适合正在致力于...

    Android获取手机ip地址及mac地址

    1. **权限**:获取MAC地址需要在AndroidManifest.xml中添加`ACCESS_WIFI_STATE`和`ACCESS_COARSE_LOCATION`权限,而从API 23(Android 6.0)开始,动态请求`ACCESS_FINE_LOCATION`权限才能获取MAC地址。 2. **API...

    Android 获取蓝牙Mac地址的正确方法

    在Android系统中,获取蓝牙设备的Mac地址是一个关键的操作,特别是在进行蓝牙通信或者需要识别不同设备时。然而,从Android 6.0(API级别23)开始,系统为了增强用户隐私保护,对蓝牙和Wi-Fi的Mac地址进行了随机化...

    Android_获取手机IP和MAC地址

    获取MAC地址则相对复杂一些,因为Android在6.0及以上版本对MAC地址进行了隐私保护,不再允许直接获取。但在较低版本中,你可以通过以下方式获取: ```java public String getMacAddress() { try { List...

    Android手机获取Mac地址的方法

    Android 手机获取 Mac 地址的方法 Android 手机获取 Mac 地址是一种常见的需求,特别是在移动应用程序中需要获取设备的唯一标识符时。Mac 地址是一种用于标识网络设备的地址,它通常由 6 个字节组成,通常以冒号...

Global site tag (gtag.js) - Google Analytics