編輯:高級開發
我們3G卡的Ip地址當然是不一樣的.
首先我嘗試了如下方法:
vIEw plaincopy to clipboardprint?
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
但是獲得的居然是一個整數,我嘗試了用些數學方法都沒有成功!,所以這種方法不可取!
最後查了一些資料,發現如下方法是比較通用的,我嘗試了WIFI和G3卡,都獲取了爭取的Ip地址:代碼如下:
vIEw plaincopy to clipboardprint?
public String getLocalIpAddress() {
try {
for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e(LOG_TAG, ex.toString());
}
return null;
}
public String getLocalIpAddress() {
try {
for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
接上頁
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e(LOG_TAG, ex.toString());
}
return null;
}
當我的手機處於飛行狀態是,獲得Ip地址為空,剛好符合要求!!!
希望對大家有所幫助!謝謝~
本文轉自http://blog.csdn.Net/android_Tutor/archive/2010/05/10/5576544.ASPx
在後台線程中執行各種操作(網絡連接、大數據存儲)的時候,我們希望讓客戶能看到後台有操作在進行,那麼既能有效的提示用戶,又不占用當前操作空間,最好的方法就是在標題欄有個進
理解布局對於良好的android程序設計非常重要。在這個教程裡,你將學到相對布局的所有知識,相對布局用於將用戶界面控件或小工具相對於其它控件或它們的父級布局組織在屏幕上
目標:利用NDK 生成 SO 庫,使用 SO 庫進行 JNI 調用,在 android sdcard 創建文件並寫入數據。 工具:NDK1.5 R1, android
51CTO曾介紹android開發WebVIEw組件的使用詳解,本文將為各位詳細介紹android NDK的安裝、使用和實戰。我下載的是android Native D