利用WifiManager取得IP
AndroidManifest.xml需要加入
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
1 | <? xml version = "1.0" encoding = "utf-8" ?> |
3 | package = "johnson.layout" |
4 | android:versionCode = "1" |
5 | android:versionName = "1.0" > |
6 | < uses-sdk android:minSdkVersion = "8" /> |
7 | < uses-permission android:name = "android.permission.ACCESS_WIFI_STATE" /> |
8 | < uses-permission android:name = "android.permission.CHANGE_WIFI_STATE" /> |
9 | < uses-permission android:name = "android.permission.ACCESS_NETWORK_STATE" /> |
11 | < application android:icon = "@drawable/icon" android:label = "@string/app_name" > |
12 | < activity android:name = ".Layout_testActivity" |
13 | android:label = "@string/app_name" > |
15 | < action android:name = "android.intent.action.MAIN" /> |
16 | < category android:name = "android.intent.category.LAUNCHER" /> |
Java部份:
1 | import android.app.Activity; |
2 | import android.net.wifi.WifiManager; |
3 | import android.net.wifi.WifiInfo; |
4 | import android.os.Bundle; |
5 | import android.widget.TextView; |
7 | public class test extends Activity { |
11 | public void onCreate(Bundle savedInstanceState) { |
12 | super .onCreate(savedInstanceState); |
13 | setContentView(R.layout.main); |
15 | ans = (TextView) findViewById( R.id.ans ); |
16 | ans.setText( "IP:" + getMyIp() ); |
20 | private String getMyIp(){ |
22 | WifiManager wifi_service = (WifiManager)getSystemService(WIFI_SERVICE); |
24 | WifiInfo wifiInfo = wifi_service.getConnectionInfo(); |
26 | int ipAddress = wifiInfo.getIpAddress(); |
28 | String ip = String.format( "%d.%d.%d.%d" ,(ipAddress & 0xff ),(ipAddress >> 8 & 0xff ),(ipAddress >> 16 & 0xff ),(ipAddress >> 24 & 0xff )); |