獲取android手機(jī)mac地址

android系統(tǒng)6.0之后熟尉,對(duì)mac地址的獲取添加了權(quán)限洲脂,按照普通的方法獲取如下:

WifiManager  wifiMan = (WifiManager)context.getSystemService(Context.WIFI_SERVICE) ;
WifiInfo wifiInf = wifiMan.getConnectionInfo();
return wifiInf.getMacAddress();

但是這種情況,獲取到的mac地址都是:02:00:00:00:00:00恐锦,看來(lái)就需要另一種方法來(lái)獲取mac地址:

private static final String marshmallowMacAddress = "02:00:00:00:00:00";
  private static final String fileAddressMac = "/sys/class/net/wlan0/address";

  public static String getAdresseMAC(Context context) {
    WifiManager wifiMan = (WifiManager)context.getSystemService(Context.WIFI_SERVICE) ;
    WifiInfo wifiInf = wifiMan.getConnectionInfo();

    if(wifiInf !=null && marshmallowMacAddress.equals(wifiInf.getMacAddress())){
      String result = null;
      try {
        result= getAdressMacByInterface();
        if (result != null){
          return result;
        } else {
          result = getAddressMacByFile(wifiMan);
          return result;
        }
      } catch (IOException e) {
        Log.e("MobileAccess", "Erreur lecture propriete Adresse MAC");
      } catch (Exception e) {
        Log.e("MobileAcces", "Erreur lecture propriete Adresse MAC ");
      }
    } else{
      if (wifiInf != null && wifiInf.getMacAddress() != null) {
        return wifiInf.getMacAddress();
      } else {
        return "";
      }
    }
    return marshmallowMacAddress;
  }

接下來(lái),來(lái)分析一下其中兩個(gè)重要的方法
1.getAdressMacByInterface()

 private static String getAdressMacByInterface(){
    try {
      List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces());
      for (NetworkInterface nif : all) {
        if (nif.getName().equalsIgnoreCase("wlan0")) {
          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 e) {
      Log.e("MobileAcces", "Erreur lecture propriete Adresse MAC ");
    }
    return null;
  }

2.getAddressMacByFile(wifiMan)

  private static String getAddressMacByFile(WifiManager wifiMan) throws Exception {
    String ret;
    int wifiState = wifiMan.getWifiState();

    wifiMan.setWifiEnabled(true);
    File fl = new File(fileAddressMac);
    FileInputStream fin = new FileInputStream(fl);
    ret = crunchifyGetStringFromStream(fin);
    fin.close();

    boolean enabled = WifiManager.WIFI_STATE_ENABLED == wifiState;
    wifiMan.setWifiEnabled(enabled);
    return ret;
  }

  private static String crunchifyGetStringFromStream(InputStream crunchifyStream) throws IOException {
    if (crunchifyStream != null) {
      Writer crunchifyWriter = new StringWriter();

      char[] crunchifyBuffer = new char[2048];
      try {
        Reader crunchifyReader = new BufferedReader(new InputStreamReader(crunchifyStream, "UTF-8"));
        int counter;
        while ((counter = crunchifyReader.read(crunchifyBuffer)) != -1) {
          crunchifyWriter.write(crunchifyBuffer, 0, counter);
        }
      } finally {
        crunchifyStream.close();
      }
      return crunchifyWriter.toString();
    } else {
      return "No Contents";
    }
  }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市肮之,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌局骤,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件峦甩,死亡現(xiàn)場(chǎng)離奇詭異现喳,居然都是意外死亡凯傲,警方通過(guò)查閱死者的電腦和手機(jī)嗦篱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)灸促,“玉大人诫欠,你說(shuō)我怎么就攤上這事≡≡裕” “怎么了荒叼?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)典鸡。 經(jīng)常有香客問(wèn)我被廓,道長(zhǎng),這世上最難降的妖魔是什么萝玷? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任嫁乘,我火速辦了婚禮昆婿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蜓斧。我一直安慰自己仓蛆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布法精。 她就那樣靜靜地躺著多律,像睡著了一般痴突。 火紅的嫁衣襯著肌膚如雪搂蜓。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,631評(píng)論 1 305
  • 那天辽装,我揣著相機(jī)與錄音帮碰,去河邊找鬼拾积。 笑死殉挽,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拓巧。 我是一名探鬼主播斯碌,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼肛度!你這毒婦竟也來(lái)了傻唾?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤承耿,失蹤者是張志新(化名)和其女友劉穎冠骄,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體加袋,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凛辣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了职烧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扁誓。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蚀之,靈堂內(nèi)的尸體忽然破棺而出蝗敢,到底是詐尸還是另有隱情,我是刑警寧澤恬总,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布前普,位于F島的核電站,受9級(jí)特大地震影響壹堰,放射性物質(zhì)發(fā)生泄漏拭卿。R本人自食惡果不足惜骡湖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望峻厚。 院中可真熱鬧响蕴,春花似錦、人聲如沸惠桃。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)辜王。三九已至劈狐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間呐馆,已是汗流浹背肥缔。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留汹来,地道東北人续膳。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像收班,于是被迫代替她去往敵國(guó)和親坟岔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,162評(píng)論 25 707
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 10,983評(píng)論 6 13
  • -夢(mèng) 昨天我夢(mèng)見(jiàn)了她摔桦,或許應(yīng)該感恩社付,因?yàn)樵谖医酉聛?lái)有限的生命里,或許連夢(mèng)到她都是奢侈酣溃,都會(huì)越來(lái)越少瘦穆,夢(mèng)里的她還是依...
    oo上海閱讀 248評(píng)論 0 0
  • 姻緣天注定在中國(guó)唐朝有一個(gè)非常有名的故事,足以代表赊豌。 杜陵的韋固自小失去雙親扛或,想早點(diǎn)結(jié)婚,但多次求婚都不成碘饼。唐太宗...
    運(yùn)安閣閣主閱讀 444評(píng)論 0 0
  • 本文小計(jì)321字熙兔,需耗費(fèi)你約1分29秒才能看完,我用時(shí)光為你篩選真愛(ài)艾恼,而那漏走的將成為回憶住涉。 念你到時(shí)光蒼老 我變...
    輝輝大詩(shī)閱讀 148評(píng)論 0 0