当前位置: 移动技术网 > 移动技术>移动开发>Android > Android编程获取设备MAC地址的实现方法

Android编程获取设备MAC地址的实现方法

2019年07月24日  | 移动技术网移动技术  | 我要评论

本文实例讲述了android编程获取设备mac地址的实现方法。分享给大家供大家参考,具体如下:

/**
* 获取设备的mac地址
*
* @param ac
* @param callback
*      成功获取到mac地址之后会回调此方法
*/
public static void getmacaddress(final activity ac, final simplecallback callback) {
    final wifimanager wm = (wifimanager) ac .getsystemservice(service.wifi_service);
    // 如果本次开机后打开过wifi,则能够直接获取到mac信息。立刻返回数据。
    wifiinfo info = wm.getconnectioninfo();
    if (info != null && info.getmacaddress() != null) {
      if (callback != null) {
        callback.oncomplete(info.getmacaddress());
      }
      return;
    }
    // 尝试打开wifi,并获取mac地址
    if (!wm.iswifienabled()) {
      wm.setwifienabled(true);
    }
    new thread(new runnable() {
      @override
      public void run() {
        int trycount = 0;
        final int max_count = 10;
        while (trycount < max_count) {
          final wifiinfo info = wm.getconnectioninfo();
          if (info != null && info.getmacaddress() != null) {
            if (callback != null) {
              ac.runonuithread(new runnable() {
                @override
                public void run() {
                  callback.oncomplete(info.getmacaddress());
                }
              });
            }
            return;
          }
          systemclock.sleep(300);
          trycount++;
        }
        // 未获取到mac地址
        if (callback != null) {
          callback.oncomplete(null);
        }
      }
    }).start();
}

simplecallback是一个简单的回调接口:

public interface simplecallback {
  void oncomplete(string result);
}

更多关于android相关内容感兴趣的读者可查看本站专题:《android编程之activity操作技巧总结》、《android资源操作技巧汇总》、《android开发入门与进阶教程》、《android视图view技巧总结》、《android操作sqlite数据库技巧总结》、《android数据库操作技巧总结》、《android编程开发之sd卡操作方法汇总》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网