生活随笔
收集整理的這篇文章主要介紹了
android手机两种方式获取IP地址
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://www.cnblogs.com/android100/p/Android-get-ip.html
1.使用WIFI
首先設置用戶權限
Xml代碼??
<uses-permission?android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>?? <uses-permission?android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>?? <uses-permission?android:name="android.permission.WAKE_LOCK"></uses-permission>??
?
其次,代碼如下
Java代碼??
public?void?onCreate(Bundle?savedInstanceState)?{?? ????????super.onCreate(savedInstanceState);?? ????????setContentView(R.layout.main);?? ????????? ?????????? ????????WifiManager?wifiManager?=?(WifiManager)?getSystemService(Context.WIFI_SERVICE);?? ?????????? ????????if?(!wifiManager.isWifiEnabled())?{?? ????????wifiManager.setWifiEnabled(true);???? ????????}?? ????????WifiInfo?wifiInfo?=?wifiManager.getConnectionInfo();??????? ????????int?ipAddress?=?wifiInfo.getIpAddress();??? ????????String?ip?=?intToIp(ipAddress);??? ????????EditText?et?=?(EditText)findViewById(R.id.EditText01);?? ????????et.setText(ip);?? ????}????? ????private?String?intToIp(int?i)?{??????? ????????? ??????????return?(i?&?0xFF?)?+?"."?+??????? ????????((i?>>?8?)?&?0xFF)?+?"."?+??????? ????????((i?>>?16?)?&?0xFF)?+?"."?+??????? ????????(?i?>>?24?&?0xFF)?;?? ?????}???
?
2.使用GPRS
首先,設置用戶上網權限
Xml代碼??
<uses-permission?android:name="android.permission.INTERNET"></uses-permission>??
?
其次,代碼如下
Java代碼??
public?String?getLocalIpAddress()?? ????{?? ????????try?? ????????{?? ????????????for?(Enumeration<NetworkInterface>?en?=?NetworkInterface.getNetworkInterfaces();?en.hasMoreElements();)?? ????????????{?? ???????????????NetworkInterface?intf?=?en.nextElement();?? ???????????????for?(Enumeration<InetAddress>?enumIpAddr?=?intf.getInetAddresses();?enumIpAddr.hasMoreElements();)?? ???????????????{?? ???????????????????InetAddress?inetAddress?=?enumIpAddr.nextElement();?? ???????????????????if?(!inetAddress.isLoopbackAddress())?? ???????????????????{?? ???????????????????????return?inetAddress.getHostAddress().toString();?? ???????????????????}?? ???????????????}?? ???????????}?? ????????}?? ????????catch?(SocketException?ex)?? ????????{?? ????????????Log.e("WifiPreference?IpAddress",?ex.toString());?? ????????}?? ????????return?null;?? ????} ?
總結
以上是生活随笔為你收集整理的android手机两种方式获取IP地址的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。