獲取路由器的Mac地址和當前的iP地址
阿新 • • 發佈:2019-01-25
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;
/**
* @描述 網路工具類,用於wap設定代理,判斷網路型別
*
* @author
*
*/
public class NetworkUtil {
public static String imageUrl = "http://img0.imgtn.bdimg.com/it/u=1946512697,838287685&fm=23&gp=0.jpg";
/**
* 檢測無線wifi是否連線
* @param ctx
* @return
*/
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;
}
/**
* 檢查移動資料是否連線了
* @param context
* @return
*/
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;
}
/**
* 檢查移動資料是否有可用的行動網路資料
* @param context
* @return
*/
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;
}
/**
* 檢查網路是否可用
*
* @return true可用,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;
}
/**
* 獲取手機Wifi的mac地址
*
* @return mac地址,獲取失敗返回null
*/
public static String getWifiMacAddress(Context context) {
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
return wifi.getConnectionInfo().getMacAddress();
}
/**
* 獲取路由器Mac
*/
public static String getRouterMac(Context context) {
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
return wifi.getConnectionInfo().getBSSID();
}
/**
* 獲取wifi名字
*/
public static String getWifiName(Context context) {
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
return wifi.getConnectionInfo().getSSID();
}
/**
* 獲取手機ip
*
* @return
*/
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);
}
}
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
/**
* @描述 網路工具類,用於wap設定代理,判斷網路型別
*
* @author
*
*/
public class NetworkUtil {
public static String imageUrl = "http://img0.imgtn.bdimg.com/it/u=1946512697,838287685&fm=23&gp=0.jpg";
/**
* 檢測無線wifi是否連線
* @param ctx
* @return
*/
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;
}
/**
* 檢查移動資料是否連線了
* @param context
* @return
*/
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;
}
/**
* 檢查移動資料是否有可用的行動網路資料
* @param context
* @return
*/
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;
}
/**
* 檢查網路是否可用
*
* @return true可用,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;
}
/**
* 獲取手機Wifi的mac地址
*
* @return mac地址,獲取失敗返回null
*/
public static String getWifiMacAddress(Context context) {
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
return wifi.getConnectionInfo().getMacAddress();
}
/**
* 獲取路由器Mac
*/
public static String getRouterMac(Context context) {
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
return wifi.getConnectionInfo().getBSSID();
}
/**
* 獲取wifi名字
*/
public static String getWifiName(Context context) {
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
return wifi.getConnectionInfo().getSSID();
}
/**
* 獲取手機ip
*
* @return
*/
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);
}
}