// 使用静态IP还是DHCPprivate static final String ETHERNET_USE_STATIC_IP = "ethernet_use_static_ip";// IPprivate static final String ETHERNET_STATIC_IP = "ethernet_static_ip";// 网关private static final String ETHERNET_STATIC_GATEWAY = "ethernet_static_gateway";// 子网掩码private static final String ETHERNET_STATIC_NETMASK = "ethernet_static_netmask";// DNS1private static final String ETHERNET_STATIC_DNS1 = "ethernet_static_dns1";// DNS2private static final String ETHERNET_STATIC_DNS2 = "ethernet_static_dns2";

EthernetManager

EthernetManager mEthManager = (EthernetManager)getSystemService(Context.ETHERNET_SERVICE);

GET

        checkStaticIP = (CheckBox) findViewById(R.id.checkStaticIP);        checkStaticIP.setChecked(Settings.System.getInt(contentResolver,                ETHERNET_USE_STATIC_IP, 0) != 0);        checkStaticIP                .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {                    @Override                    public void onCheckedChanged(CompoundButton buttonView,                            boolean isChecked) {                        android.provider.Settings.System.putInt(                                contentResolver, ETHERNET_USE_STATIC_IP,                                isChecked ? 1 : 0);                    }                });        // GET static IP        editIPAddress = (EditText) findViewById(R.id.editIPAddress);        editIPAddress.setText(Settings.System.getString(contentResolver,                ETHERNET_STATIC_IP));        // GET static gateway        editGateway = (EditText) findViewById(R.id.editGateway);        editGateway.setText(Settings.System.getString(contentResolver,                ETHERNET_STATIC_GATEWAY));        // GET static netmask        editNetmask = (EditText) findViewById(R.id.editNetmask);        editNetmask.setText(Settings.System.getString(contentResolver,                ETHERNET_STATIC_NETMASK));        // GET static dns1        editDNS1 = (EditText) findViewById(R.id.editDNS1);        editDNS1.setText(Settings.System.getString(contentResolver,                ETHERNET_STATIC_DNS1));        // GET static dns2        editDNS2 = (EditText) findViewById(R.id.editDNS2);        editDNS2.setText(Settings.System.getString(contentResolver,                ETHERNET_STATIC_DNS2));

SET

                // SET static IP                String strIP = editIPAddress.getText().toString();                Settings.System.putString(contentResolver, ETHERNET_STATIC_IP,                        strIP);                // SET static gateway                String strGateway = editGateway.getText().toString();                Settings.System.putString(contentResolver,                        ETHERNET_STATIC_GATEWAY, strGateway);                // SET static netmask                String strNetmask = editNetmask.getText().toString();                Settings.System.putString(contentResolver,                        ETHERNET_STATIC_NETMASK, strNetmask);                // SET static dns1                String strDns1 = editDNS1.getText().toString();                Settings.System.putString(contentResolver,                        ETHERNET_STATIC_DNS1, strDns1);                // SET static dns2                String strDns2 = editDNS2.getText().toString();                Settings.System.putString(contentResolver,                        ETHERNET_STATIC_DNS2, strDns2);                // 重启以太网,系统应用API                int preState = mEthManager.getEthernetIfaceState();                mEthManager.setEthernetEnabled(false);                if (preState == EthernetDataTracker.ETHER_IFACE_STATE_UP) {                mEthManager.setEthernetEnabled(true);                }

Update:

判断以太网是否开启:

    private boolean isEthernetEnable() {        boolean isEthernetEnable = false;        if (mEthManager == null) {        } else {            isEthernetEnable = (mEthManager.getEthernetIfaceState() == EthernetDataTracker.ETHER_IFACE_STATE_UP);        }        Log.i(TAG, "isEthernetEnable:" + isEthernetEnable);        return isEthernetEnable;    }

设置以太网状态

    private void setEthernetEnable(boolean enable) {        Log.i(TAG, "setEthernetEnable:" + enable);        mEthManager.setEthernetEnabled(enable);    }

判断IP地址是否合法:

    /**     * Check the IP address is valid     *      * @param value     * @return     */    private boolean isIpAddressValid(String value) {        int start = 0;        int end = value.indexOf('.');        int numBlocks = 0;        while (start < value.length()) {            if (-1 == end) {                end = value.length();            }            try {                int block = Integer.parseInt(value.substring(start, end));                if ((block > 255) || (block < 0)) {                    Log.w(TAG, "isValidIpAddress() : invalid 'block', block = "                            + block);                    return false;                }            } catch (NumberFormatException e) {                Log.w(TAG, "isValidIpAddress() : e = " + e);                return false;            }            numBlocks++;            start = end + 1;            end = value.indexOf('.', start);        }        return numBlocks == 4;    }

更多相关文章

  1. android 网络状态判断
  2. android 简单拨号器 代码
  3. Android(安卓)判断应用是否安装
  4. Android中如何判断Intent是否存在?
  5. Android(安卓)开启闪光灯做手电筒
  6. android软键盘问题
  7. android判断用户是否已登陆详细代码
  8. android 网络状态判断
  9. android判断一个Service是否存在

随机推荐

  1. Android改变系统自带ProgressDialog的文
  2. android中获取包名,类名
  3. Android本地图片压缩+转base64
  4. Android(安卓)studio ElasticDownloadVie
  5. Android(安卓)API level 与version对应关
  6. android 支持的语言列表
  7. android全屏显示
  8. Android(安卓)开发环境搭建
  9. android获取版本号
  10. 关于Android的文字排版和换行问题,彻底解