Android獲取熱點主機ip和連接熱點手機ip的代碼
其中定義WIFI AP的幾個狀態(tài)
public static final int WIFI_AP_STATE_DISABLING = 10; public static final int WIFI_AP_STATE_DISABLED = 11; public static final int WIFI_AP_STATE_ENABLING = 12; public static final int WIFI_AP_STATE_ENABLED = 13; public static final int WIFI_AP_STATE_FAILED = 14;
對應(yīng)于WifiMangaer.java中對這幾個狀態(tài)的定義。
獲取WIFI熱點的狀態(tài):
public int getWifiApState(Context mContext) {
WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
try {
Method method = wifiManager.getClass().getMethod("getWifiApState");
int i = (Integer) method.invoke(wifiManager);
Log.i(TAG,"wifi state: " + i);
return i;
} catch (Exception e) {
Log.e(TAG,"Cannot get WiFi AP state" + e);
return WIFI_AP_STATE_FAILED;
}
}
判斷Wifi熱點是否可用:
private ArrayList<String> getConnectedHotIP() {
ArrayList<String> connectedIP = new ArrayList<String>();
try {
BufferedReader br = new BufferedReader(new FileReader(
"/proc/net/arp"));
String line;
while ((line = br.readLine()) != null) {
String[] splitted = line.split(" +");
if (splitted != null && splitted.length >= 4) {
String ip = splitted[0];
connectedIP.add(ip);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return connectedIP;
}
//輸出鏈接到當(dāng)前設(shè)備的IP地址
public void printHotIp() {
ArrayList<String> connectedIP = getConnectedHotIP();
StringBuilder resultList = new StringBuilder();
for (String ip : connectedIP) {
resultList.append(ip);
resultList.append("\n");
}
System.out.print(resultList);
Log.d(TAG,"---->>heww resultList="+resultList);
}
當(dāng)然在應(yīng)用中要添加訪問WIFI設(shè)備的權(quán)限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
獲取熱點主機ip地址的代碼:
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
DhcpInfo info=wifiManager.getDhcpInfo();
System.out.println(info.serverAddress);
總結(jié)
以上所述是小編給大家介紹的Android獲取熱點主機ip和連接熱點手機ip的方法 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
android 6.0下webview的定位權(quán)限設(shè)置方法
今天小編就為大家分享一篇android 6.0下webview的定位權(quán)限設(shè)置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
android獲取當(dāng)前接入點信息判斷是ctwap還是ctnet實例代碼
這篇文章主要介紹了android獲取當(dāng)前接入點信息判斷是ctwap還是ctnet的方法,大家參考使用吧2013-11-11
Android中的layout_gravity與gravity屬性詳解
layout_gravity和gravity是Android開發(fā)中用于控制視圖布局和對齊方式的兩個屬性,layout_gravity用于指定視圖在父容器中的對齊方式,而gravity用于指定視圖內(nèi)部內(nèi)容的對齊方式,本文介紹Android中的layout_gravity與gravity屬性,感興趣的朋友一起看看吧2025-03-03
Android自定義view實現(xiàn)雪花特效實例代碼
實現(xiàn)雪花的效果其實也可以通過自定義View的方式來實現(xiàn)的,而且操作上也相對簡單一些,下面這篇文章主要給大家介紹了關(guān)于Android自定義view實現(xiàn)雪花特效的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
Android 游戲引擎libgdx 資源加載進度百分比顯示案例分析
因為案例比較簡單,所以簡單用AndroidApplication -> Game -> Stage 搭建框架感興趣的朋友可以參考下2013-01-01
Android編程實現(xiàn)自定義ProgressBar樣式示例(背景色及一級、二級進度條顏色)
這篇文章主要介紹了Android編程實現(xiàn)自定義ProgressBar樣式功能,涉及針對背景色及一級、二級進度條顏色的操作技巧,需要的朋友可以參考下2017-01-01
Android 實現(xiàn)微信長按菜單 -FloatMenu
在日常開發(fā)中,長按某個view出現(xiàn)個菜單是很常見的需求,下面小編給大家?guī)砹薃ndroid 實現(xiàn)微信長按菜單 -FloatMenu的實現(xiàn)思路及具體實現(xiàn)代碼,感興趣的朋友跟隨腳本之家小編一起看看吧2018-07-07

