人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 網絡技術教程 > 詳細頁面

Android取得Mac地址及IP地址需要添加權限,只有連接成功才能取得

Android取得Mac地址及IP地址需要添加權限,只有連接成功才能取得

更新時間:2023-09-01 文章作者:未知 信息來源:網絡 閱讀次數:

網絡故障(network failure)是指由于硬件的問題、軟件的漏洞、病毒的侵入等引起網絡無法提供正常服務或降低服務質量的狀態。

Android需要添加權限以獲得Mac地址和IP地址,

在AndroidManifest.xml中:

怎么將電腦ip設置成自動獲取ip地址_獲取路由器ip地址_怎么改路由的ip地址

uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

1、獲取手機的Mac地址,即使未打開Wifi或未連接Wi-Fi也可以獲取手機的Mac地址。代碼如下:

public static String getMacAddress(Context context) {
    String macAddress = null;
    WifiInfo wifiInfo = getWifiInfo(context);
    if (wifiInfo != null) {
        macAddress = wifiInfo.getMacAddress();
    }
    return macAddress;
}

2、獲取手機IP地址,只有在Wifi連接的情況下才能獲取IP地址,否則為0,對應的轉換IP為0.0.0.0,其中getIpAddress ()獲取IP地址,它是一個整數,需要轉換為IP地址。代碼如下:

怎么將電腦ip設置成自動獲取ip地址_怎么改路由的ip地址_獲取路由器ip地址

public static String getIpAddress(Context context) {
    String IpAddress = null;
    WifiInfo wifiInfo = getWifiInfo(context);
    if (wifiInfo != null) {
        IpAddress = intToIpAddress(wifiInfo.getIpAddress());
    }
    return IpAddress;
}
public static String intToIpAddress(long ipInt) {
    StringBuffer sb = new StringBuffer();
    sb.append(ipInt & 0xFF).append(".");
    sb.append((ipInt >> 8) & 0xFF).append(".");
    sb.append((ipInt >> 16) & 0xFF).append(".");
    sb.append((ipInt >> 24) & 0xFF);
    return sb.toString();
}

3、獲取路由器的Mac地址,僅當連接成功(廢話……)時,代碼如下:

怎么將電腦ip設置成自動獲取ip地址_獲取路由器ip地址_怎么改路由的ip地址

public static String getConnectedWifiMacAddress(Context context) {
    String connectedWifiMacAddress = null;
    WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    List wifiList;
    if (wifiManager != null) {
        wifiList = wifiManager.getScanResults();
        WifiInfo info = wifiManager.getConnectionInfo();
        if (wifiList != null && info != null) {
            for (int i = 0; i < wifilist.size();="" i++)="" {="" scanresult="" result="">get(i);
                if (info.getBSSID().equals(result.BSSID)) {
                    connectedWifiMacAddress = result.BSSID;
                }
            }
        }
    }
    return connectedWifiMacAddress;
}

獲取Mac和IP地址的完整工具代碼如下:

怎么改路由的ip地址_獲取路由器ip地址_怎么將電腦ip設置成自動獲取ip地址

package com.cpxiao.wifimacdemo;
import android.content.Context;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import java.util.List;
/**
 * Created by cpxiao on 15/9/21.
 */
public class MacAddressUtils {
    /**
     * 獲取手機的Mac地址,在Wifi未開啟或者未連接的情況下也能獲取手機Mac地址
     */
    public static String getMacAddress(Context context) {
        String macAddress = null;
        WifiInfo wifiInfo = getWifiInfo(context);
        if (wifiInfo != null) {
            macAddress = wifiInfo.getMacAddress();
        }
        return macAddress;
    }
    /**
     * 獲取手機的Ip地址
     */
    public static String getIpAddress(Context context) {
        String IpAddress = null;
        WifiInfo wifiInfo = getWifiInfo(context);
        if (wifiInfo != null) {
            IpAddress = intToIpAddress(wifiInfo.getIpAddress());
        }
        return IpAddress;
    }
    /**
     * 獲取WifiInfo
     */
    public static WifiInfo getWifiInfo(Context context) {
        WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        WifiInfo info = null;
        if (null != wifiManager) {
            info = wifiManager.getConnectionInfo();
        }
        return info;
    }
    public static long ipAddressToint(String ip) {
        String[] items = ip.split("\\.");
        return Long.valueOf(items[0]) <>24
                | Long.valueOf(items[1]) <>16
                | Long.valueOf(items[2]) <>8
                | Long.valueOf(items[3]);
    }
    public static String intToIpAddress(long ipInt) {
        StringBuffer sb = new StringBuffer();
        sb.append(ipInt & 0xFF).append(".");
        sb.append((ipInt >> 8) & 0xFF).append(".");
        sb.append((ipInt >> 16) & 0xFF).append(".");
        sb.append((ipInt >> 24) & 0xFF);
        return sb.toString();
    }
    /**
     * 獲取當前可連接Wifi列表
     */
    public static List getAvailableNetworks(Context context) {
        WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        List wifiList = null;
        if (wifiManager != null) {
            wifiList = wifiManager.getScanResults();
        }
        return wifiList;
    }
    /**
     * 獲取已連接的Wifi路由器的Mac地址
     */
    public static String getConnectedWifiMacAddress(Context context) {
        String connectedWifiMacAddress = null;
        WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        List wifiList;
        if (wifiManager != null) {
            wifiList = wifiManager.getScanResults();
            WifiInfo info = wifiManager.getConnectionInfo();
            if (wifiList != null && info != null) {
                for (int i = 0; i < wifilist.size();="" i++)="" {="" scanresult="" result="wifiList.get(i);">if (info.getBSSID().equals(result.BSSID)) {
                        connectedWifiMacAddress = result.BSSID;
                    }
                }
            }
        }
        return connectedWifiMacAddress;
    }
}

參考:


本文來自本站,轉載請注明本文網址:
http://www.pc-fly.com/a/tongxingongju/article-348584-1.html


當今,越來越多的業務應用運行于網絡架構之上,保障網絡的持續、高效、安全的運行,成為網絡管理者面臨的巨大挑戰。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 西昌市| 惠安县| 阳泉市| 治多县| 资兴市| 常宁市| 本溪| 华池县| 大邑县| 荣成市| 邵阳县| 吉林省| 沙雅县| 嘉鱼县| 龙井市| 黄陵县| 濮阳市| 娱乐| 阳春市| 大厂| 封丘县| 牟定县| 金乡县| 兴义市| 偏关县| 内黄县| 凤台县| 贵阳市| 通海县| 常德市| 长岛县| 德庆县| 广东省| 柘城县| 金山区| 泽库县| 普定县| 闻喜县| 青河县| 新郑市| 徐汇区|