当前位置: 移动技术网 > IT编程>移动开发>Android > Android 获取IP地址的实现方法

Android 获取IP地址的实现方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

宁夏广播电视大学欢迎你,手机顽童官网,团购白酒

android 获取ip地址

最近做项目,有一个需求是android设备获取当前ip的功能,经过一番查询资料解决了,记录下实现方法。

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;

  }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网