android7.0获取静态IP、网关、子网掩码、DNS

    /**
     * 获取静态IP的相关信息
     * @param context
     * @return
     */
    public Map getIps(Context context){
        Map ipMaps = new HashMap();
        try {
            String ETHERNET_SERVICE = (String) Context.class.getField("ETHERNET_SERVICE").get(null);
            Class ethernetManagerClass = Class.forName("android.net.EthernetManager");
            Object ethernetManager = context.getSystemService(ETHERNET_SERVICE);
            Field mService = ethernetManagerClass.getDeclaredField("mService");
            // 设置访问权限
            mService.setAccessible(true);
            Object mServiceObject = mService.get(ethernetManager);
            Class iEthernetManagerClass = Class.forName("android.net.IEthernetManager");
            Method[] methods = iEthernetManagerClass.getDeclaredMethods();
            for (Method ms : methods) {
                String methodName = ms.getName();
                if("getGateway".equals(methodName)){   // 网关
                    String gate = (String)ms.invoke(mServiceObject);
                    ipMaps.put("gateWay",gate); 
                }else if("getNetmask".equals(methodName)){  // 子网掩码
                    String mask = (String)ms.invoke(mServiceObject);
                    ipMaps.put("maskAddress",mask);
                }else if("getIpAddress".equals(methodName)){  // IP地址
                    String ipAddr = (String)ms.invoke(mServiceObject);
                    ipMaps.put("ipAddress",ipAddr);
                }else if("getDns".equals(methodName)){  // DNS(注意解析)
                    String dnss = (String)ms.invoke(mServiceObject);
                    String []arrDns = dnss.split("\\,");
                    String dns = null;
                    if(arrDns != null){
                        dns = arrDns[0];
                        ipMaps.put("dns",dns);
                    }
                }
            }
        } catch (Exception e) {
            Log.d(TAG, "Exception : ",e);
        }
        return ipMaps;
    }

**

系统时间相关的设置看这里

**

你可能感兴趣的:(android7.0获取静态IP、网关、子网掩码、DNS)