获取wifi的ip,子网掩码,网关,dns之类的信息

来源:互联网 发布:sdn网络控制器 编辑:程序博客网 时间:2024/06/06 13:03
public class MainActivity extends Activity {private WifiManager my_wifiManager;private WifiInfo wifiInfo;private DhcpInfo dhcpInfo;private TextView tvResult;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);my_wifiManager = ((WifiManager) getSystemService("wifi"));dhcpInfo = my_wifiManager.getDhcpInfo();wifiInfo = my_wifiManager.getConnectionInfo();tvResult = (TextView) findViewById(R.id.tvResult);}@Overrideprotected void onResume() {super.onResume();StringBuilder sb = new StringBuilder();sb.append("网络信息:");sb.append("\nipAddress:" + intToIp(dhcpInfo.ipAddress));sb.append("\nnetmask:" + intToIp(dhcpInfo.netmask));sb.append("\ngateway:" + intToIp(dhcpInfo.gateway));sb.append("\nserverAddress:" + intToIp(dhcpInfo.serverAddress));sb.append("\ndns1:" + intToIp(dhcpInfo.dns1));sb.append("\ndns2:" + intToIp(dhcpInfo.dns2));sb.append("\n");System.out.println(intToIp(dhcpInfo.ipAddress));System.out.println(intToIp(dhcpInfo.netmask));System.out.println(intToIp(dhcpInfo.gateway));System.out.println(intToIp(dhcpInfo.serverAddress));System.out.println(intToIp(dhcpInfo.dns1));System.out.println(intToIp(dhcpInfo.dns2));System.out.println(dhcpInfo.leaseDuration);sb.append("Wifi信息:");sb.append("\nIpAddress:" + intToIp(wifiInfo.getIpAddress()));sb.append("\nMacAddress:" + wifiInfo.getMacAddress());tvResult.setText(sb.toString());}private String intToIp(int paramInt) {return (paramInt & 0xFF) + "." + (0xFF & paramInt >> 8) + "." + (0xFF & paramInt >> 16) + "."+ (0xFF & paramInt >> 24);}}

效果如下:

备注:

android.net.NetworkUtils

    /**     * Convert a IPv4 address from an integer to an InetAddress.     * @param hostAddress an int corresponding to the IPv4 address in network byte order     */    public static InetAddress intToInetAddress(int hostAddress) {        byte[] addressBytes = { (byte)(0xff & hostAddress),                                (byte)(0xff & (hostAddress >> 8)),                                (byte)(0xff & (hostAddress >> 16)),                                (byte)(0xff & (hostAddress >> 24)) };        try {           return InetAddress.getByAddress(addressBytes);        } catch (UnknownHostException e) {           throw new AssertionError();        }

}

转载至:

http://www.xuebuyuan.com/2046613.html

0 0
原创粉丝点击