package com.lenovo.xiaoshan.test;import android.app.Activity;import android.bluetooth.BluetoothAdapter;import android.content.Context;import android.content.Intent;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.os.Bundle;import android.widget.TextView;/** * 擷取手機WIFI的MAC地址 * @author 單紅宇 * */public class GetmacipinfoActivity extends Activity {/** Called when the activity is first created. */private static final int REQUEST_ENABLE_BT = 3;private WifiManager mWifi;private String WifiMac;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);if (!mWifi.isWifiEnabled()) {mWifi.setWifiEnabled(true);}WifiInfo wifiInfo = mWifi.getConnectionInfo();if ((WifiMac = wifiInfo.getMacAddress()) == null) {WifiMac = "No Wifi Device";}TextView mac = (TextView) findViewById(R.id.macView);mac.setTextSize(16);//查看已經串連上的WIFI資訊,在Android的SDK中為我們提供了一個叫做WifiInfo的對象,這個對象可以通過WifiManager.getConnectionInfo()來擷取。WifiInfo中包含了當前串連中的相關資訊。//getBSSID() 擷取BSSID屬性//getDetailedStateOf() 擷取用戶端的連通性//getHiddenSSID() 擷取SSID 是否被隱藏//getIpAddress() 擷取IP 位址//getLinkSpeed() 擷取串連的速度//getMacAddress() 擷取Mac 地址//getRssi() 擷取802.11n 網路的訊號//getSSID() 擷取SSID//getSupplicanState() 擷取具體用戶端狀態的資訊StringBuffer sb = new StringBuffer();sb.append("\n擷取BSSID屬性(所串連的WIFI裝置的MAC地址):" + wifiInfo.getBSSID());//sb.append("getDetailedStateOf() 擷取用戶端的連通性:");sb.append("\n\n擷取SSID 是否被隱藏:"+ wifiInfo.getHiddenSSID());sb.append("\n\n擷取IP 位址:" + wifiInfo.getIpAddress());sb.append("\n\n擷取串連的速度:" + wifiInfo.getLinkSpeed());sb.append("\n\n擷取Mac 地址(手機本身網卡的MAC地址):" + WifiMac);sb.append("\n\n擷取802.11n 網路的訊號:" + wifiInfo.getRssi());sb.append("\n\n擷取SSID(所串連的WIFI的網路名稱):" + wifiInfo.getSSID());sb.append("\n\n擷取具體用戶端狀態的資訊:" + wifiInfo.getSupplicantState());mac.setText("WIFI網路資訊: " + sb.toString() + "\n\n藍芽MAC: " + btMac);}}