Android編程獲取設備MAC地址的實現方法
本文實例講述了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開發(fā)入門與進階教程》、《Android視圖View技巧總結》、《Android操作SQLite數據庫技巧總結》、《Android數據庫操作技巧總結》、《Android編程開發(fā)之SD卡操作方法匯總》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
相關文章
淺談Android系統(tǒng)的基本體系結構與內存管理優(yōu)化
這篇文章主要介紹了Android系統(tǒng)的基本體系結構與內存管理優(yōu)化,非常簡潔明了地總結了系統(tǒng)服務及垃圾回收等安卓的一些主要特性,需要的朋友可以參考下2016-02-02基于Android studio3.6的JNI教程之helloworld思路詳解
這篇文章主要介紹了基于Android studio3.6的JNI教程之helloworld,本文通過圖文實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03Flutter框架解決盒約束widget和assets里加載資產技術
這篇文章主要為大家介紹了Flutter框架解決盒約束widget和assets里加載資產技術運用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12android調用國家氣象局天氣預報接口json數據格式解釋
平時我們在開發(fā)的過程中有時會要用到天氣預報的信息,國家氣象局為我們提供了天氣預報的接口,只需要我們去解析就行了。很方便很好用2013-11-11