天天看點

擷取路由器的Mac位址和目前的iP位址

package com.example.atest;

import android.content.Context;

import android.net.ConnectivityManager;

import android.net.NetworkInfo;

import android.net.wifi.WifiInfo;

import android.net.wifi.WifiManager;

public class NetworkUtil {

        public static String imageUrl = "http://img0.imgtn.bdimg.com/it/u=1946512697,838287685&fm=23&gp=0.jpg";

        public static boolean isWifi(Context context) {

                ConnectivityManager mConnectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

                NetworkInfo info = mConnectivity.getActiveNetworkInfo();

                if (info == null || !mConnectivity.getBackgroundDataSetting()) {

                        return false;

                }

                int netType = info.getType();

//                int netSubType = info.getSubtype();

                if (ConnectivityManager.TYPE_WIFI == netType) {

                        return info.isConnectedOrConnecting();

                }

                return false;

        }

        public static boolean isMobileConnected(Context context) {  

                if (context != null) {  

                        ConnectivityManager mConnectivityManager = (ConnectivityManager) context  

                                        .getSystemService(Context.CONNECTIVITY_SERVICE);  

                        NetworkInfo mMobileNetworkInfo = mConnectivityManager  

                                        .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);  

                        if (mMobileNetworkInfo != null) {  

                                return mMobileNetworkInfo.isConnected();  

                        }  

                }  

                return false;  

        }

        public static boolean isMobileAvailable(Context context) {  

        if (context != null) {  

            ConnectivityManager mConnectivityManager = (ConnectivityManager) context  

                    .getSystemService(Context.CONNECTIVITY_SERVICE);  

            NetworkInfo mMobileNetworkInfo = mConnectivityManager  

                    .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);  

            if (mMobileNetworkInfo != null) {  

                return mMobileNetworkInfo.isAvailable();  

            }  

        }  

        return false;  

    }

        public static boolean isNetworkValidate(Context context) {

                ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

                if (cm.getActiveNetworkInfo() != null

                                && cm.getActiveNetworkInfo().isConnected()

                                && cm.getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) {

                        return cm.getActiveNetworkInfo().isAvailable();

                }

                return false;

        }

        public static String getWifiMacAddress(Context context) {

                WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

                return wifi.getConnectionInfo().getMacAddress();

        }

        public static String getRouterMac(Context context) {

                WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

                return wifi.getConnectionInfo().getBSSID();

        }

        public static String getWifiName(Context context) {

                WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

                return wifi.getConnectionInfo().getSSID();

        }

    public static String getLocalIp(Context context)

    {

        // 擷取wifi服務  

        WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);

        // 判斷wifi是否開啟  

        if (!wifiManager.isWifiEnabled())

        {

            wifiManager.setWifiEnabled(true);

        }

        WifiInfo wifiInfo = wifiManager.getConnectionInfo();

        int ipAddress = wifiInfo.getIpAddress();

        String ip = intToIp(ipAddress);

        return ip;

    }

    private static String intToIp(int i)

    {

        return (i & 0xFF) + "." + ((i >> 8) & 0xFF) + "." + ((i >> 16) & 0xFF) + "." + (i >> 24 & 0xFF);

    }

    }

繼續閱讀