編輯:關於Android編程
本文實例講述了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程序設計有所幫助。
Android中使用sax解析xml文件的方法
SAX是一個解析速度快並且占用內存少的xml解析器,非常適合用於Android等移動設備。 SAX解析XML文件采用的是事件驅動,也就是說,它並不需要解析完整個文檔,在按
Android APK 在32bit 和64bit 的區別問題
目前64bitandroid系統也慢慢的多了,看到也有apk聲稱支持64bitsystem,然後就往裡面打包搞了個arm64-v8a 目錄,放了個64bit的so,但是a
Unity3D —— protobuf網絡框架
前言:protobuf是google的一個開源項目,主要的用途是:1.數據存儲(序列化和反序列化),這個功能類似xml和json等;2.制作網絡通信協議;一、資源下載:1
Android - 使用Intent來啟動Activity
使用Intent來啟動Activity Intent的用途是綁定應用程序組件, 並在應用程序之間進行通信; startActivity(),