zoukankan      html  css  js  c++  java
  • java 获取ip地址

    1.使用WIFI

    首先设置用户权限

    Xml代码  
    1. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>  
    2. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>  
    3. <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>  

    其次,代码如下

    Java代码  
    1. public void onCreate(Bundle savedInstanceState) {  
    2.         super.onCreate(savedInstanceState);  
    3.         setContentView(R.layout.main);  
    4.          
    5.         //获取wifi服务  
    6.         WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);  
    7.         //判断wifi是否开启  
    8.         if (!wifiManager.isWifiEnabled()) {  
    9.         wifiManager.setWifiEnabled(true);    
    10.         }  
    11.         WifiInfo wifiInfo = wifiManager.getConnectionInfo();       
    12.         int ipAddress = wifiInfo.getIpAddress();   
    13.         String ip = intToIp(ipAddress);   
    14.         EditText et = (EditText)findViewById(R.id.EditText01);  
    15.         et.setText(ip);  
    16.     }     
    17.     private String intToIp(int i) {       
    18.          
    19.           return (i & 0xFF ) + "." +       
    20.         ((i >> 8 ) & 0xFF) + "." +       
    21.         ((i >> 16 ) & 0xFF) + "." +       
    22.         ( i >> 24 & 0xFF) ;  
    23.      }   

    2.使用GPRS

    首先,设置用户上网权限

    Xml代码  
    1. <uses-permission android:name="android.permission.INTERNET"></uses-permission>  

    其次,代码如下

    Java代码  
    1. public String getLocalIpAddress()  
    2.     {  
    3.         try  
    4.         {  
    5.             for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();)  
    6.             {  
    7.                NetworkInterface intf = en.nextElement();  
    8.                for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();)  
    9.                {  
    10.                    InetAddress inetAddress = enumIpAddr.nextElement();  
    11.                    if (!inetAddress.isLoopbackAddress())  
    12.                    {  
    13.                        return inetAddress.getHostAddress().toString();  
    14.                    }  
    15.                }  
    16.            }  
    17.         }  
    18.         catch (SocketException ex)  
    19.         {  
    20.             Log.e("WifiPreference IpAddress", ex.toString());  
    21.         }  
    22.         return null;  
    23.     }  
  • 相关阅读:
    【CF446D】DZY Loves Games 高斯消元+矩阵乘法
    【CF542D】Superhero's Job 暴力
    【CF660E】Different Subsets For All Tuples 结论题
    【CF666C】Codeword 结论题+暴力
    【CF666E】Forensic Examination 广义后缀自动机+倍增+线段树合并
    【CF461E】Appleman and a Game 倍增floyd
    【CF471E】MUH and Lots and Lots of Segments 扫描线+并查集+线段树+set
    【CF480D】Parcels DP
    【CF497E】Subsequences Return 矩阵乘法
    SSAS 项目部署失败的问题
  • 原文地址:https://www.cnblogs.com/pengwenzheng/p/9913195.html
Copyright © 2011-2022 走看看