Wifimanager method:
Public String getip (){
// Get the WiFi Service
Wifimanager = (wifimanager) getsystemservice (context. wifi_service );
// Determine whether WiFi is enabled
If (! Wifimanager. iswifienabled ()){
Wifimanager. setwifienabled (true );
}
Wifiinfo = wifimanager. getconnectioninfo ();
Int IPaddress = wifiinfo. getipaddress ();
String IP = inttoip (IPaddress );
Return IP;
}
Private string inttoip (int I ){
Return (I & 0xff) + "." +
(I> 8) & 0xff) + "." +
(I> 16) & 0xff) + "." +
(I> 24 & 0xff );
}
Add permissions.
<Uses-Permission Android: Name = "android. Permission. access_wifi_state"/>
<Uses-Permission Android: Name = "android. Permission. wake_lock"/>
<Uses-Permission Android: Name = "android. Permission. change_wifi_state"/>
// End
Another method is to obtain data in Java.
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 = enumipaddr. nextelement ();
If (! Inetaddress. isloopbackaddress ()){
Return inetaddress. gethostaddress (). tostring ();
}
}
}
} Catch (socketexception ex ){
Log. E ("here", Ex. tostring ());
}
Return NULL;
}
// The permissions to be added
<Uses-Permission Android: Name = "android. Permission. access_wifi_state"/>
<Uses-Permission Android: Name = "android. Permission. Internet"/>
<Uses-Permission Android: Name = "android. Permission. wake_lock"/>
<Uses-Permission Android: Name = "android. Permission. change_wifi_state"/>