当前位置: 代码迷 >> Android >> wifi跟GPRS下获取android的IP信息
  详细解决方案

wifi跟GPRS下获取android的IP信息

热度:95   发布时间:2016-05-01 20:14:47.0
wifi和GPRS下获取android的IP信息
http://blog.sina.com.cn/s/blog_6a92b28701011dzb.html
1.使用WIFI
首先设置用户权限
<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>
其次,代码如下
public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);              //获取wifi服务        WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);        //判断wifi是否开启        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
首先,设置用户上网权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
其次,代码如下
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;    }



http://blog.csdn.net/yjkwf/article/details/7244632
引用
1、输入adb devices查看加载的设备
2、使用 adb -s [设备] [命令]执行命令
shell后使用getprop命令获取系统信息
[net.gprs.local-ip]: [10.0.2.15]
即为模拟器的ip地址
这里值得注意的是,多个模拟器ip地址都是相同的
3、也可以在adb所在目录中输入adb shell命令,接着输入getprop指令可以获取系统信息
在其中的[net.gprs.local-ip]: [10.0.2.15]项中就可以看到模拟器的IP地址。


  相关解决方案