开发背景:电视应用必须兼容公司过去已经发行的4.4盒子,除了文件管理,wifi,有线,蓝牙所有用到6.0系统jar的功能全都不能用,4.4系统不能提供对应jar包给我,具体原因不明
开发需求:获取ip地址,子网掩码,默认网关,dns服务器:
4.4有线网络是有开关功能的,而6.0是没有的。因此需要判定当前以太网是否打开,如果没打开就让他打开
if (!isEthernetEnable()){
mEthernetManager.setEthernetEnabled(true);
}
private boolean isEthernetEnable() {
boolean isEthernetEnable = false;
if (mEthernetManager == null) {
} else {
isEthernetEnable = (mEthernetManager.getEthernetIfaceState() == EthernetDataTracker.ETHER_IFACE_STATE_UP);
}
Log.i(TAG, "当前有线是否开启:" + isEthernetEnable);
return isEthernetEnable;
}
package com.ygjy.setting4_0;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.EthernetDataTracker;
import android.net.ethernet.EthernetManager;
import android.os.SystemProperties;
import android.provider.Settings1;
import android.util.Log;
/**
* @创建人:hcy
* @创建时间:2018/11/6
* @作用描述:Function 4.4有线的工具类
**/
public class EthernetHelper {
private EthernetManager mEthernetManager;
private Context mContext;
private BroadcastReceiver mReceiver;
private static final String TAG = "Ethernet4_4Helper:>>";
private ContentResolver mContentResolver;
public boolean getConnectMode() {
return getNetState()==Net_State.dynamic_state;
}
private void unRegisterEthernetReceiver(Context context) {
if (null != mReceiver) {
context.unregisterReceiver(mReceiver);
}
}
public void recycler(Context context) {
unRegisterEthernetReceiver(context);
}
private enum Net_State {
dynamic_state, static_state;
}
public EthernetHelper(Context mContext) {
this.mContext = mContext;
mContentResolver = mContext.getContent