欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-12-21 22:39:58
本文实例讲述了android编程获取设备mac地址的实现方法。分享给大家供大家参考,具体如下: /** * 获取设备的mac地址 * * @param ac...

本文实例讲述了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程序设计有所帮助。

上一篇:

下一篇: