- 论坛徽章:
- 0
|
- 需要一些uses-permission
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
- <uses-permission android:name="android.permission.INTERNET"></uses-permission>
- package com.miles.demo.getipinfo;
-
-
import java.net.InetAddress;
-
import java.net.NetworkInterface;
-
import java.net.Socket;
-
import java.util.Enumeration;
-
-
import android.app.Activity;
-
import android.net.wifi.WifiInfo;
-
import android.net.wifi.WifiManager;
-
import android.os.Bundle;
-
import android.text.format.Formatter;
-
import android.widget.TextView;
-
-
public class GetIPinfoActivity extends Activity {
-
-
private TextView mText;
-
-
@Override
-
public void onCreate(Bundle savedInstanceState) {
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.main);
-
mText = (TextView) findViewById(R.id.text);
-
String ip;
-
-
//Method 1
-
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
-
WifiInfo info = wifiManager.getConnectionInfo();
-
ip = "wifiInfo :" + Formatter.formatIpAddress(info.getIpAddress());
-
ip += "\n";
-
-
//Method 2
-
try{
-
Socket socket = new Socket("10.40.73.41", 80);
-
ip += "socket : " + socket.getLocalAddress().toString() + "\n";
-
} catch (Exception e) {
-
e.printStackTrace();
-
//throw new RuntimeException();
-
}
-
-
//Method 3
-
try {
-
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
-
NetworkInterface inf = interfaces.nextElement();
-
for (Enumeration<InetAddress> enumAddress = inf.getInetAddresses();enumAddress.hasMoreElements();) {
-
InetAddress in = enumAddress.nextElement();
-
if(!in.isLinkLocalAddress()) {
-
ip += "NetworkInterface : " + in.getHostAddress() + "\n";
-
}
-
}
-
}catch (Exception e) {
-
e.printStackTrace();
-
//throw new RuntimeException();
-
}
-
-
mText.setText("" + ip);
-
}
-
}
|
|