# AndroidNetwork **Repository Path**: chenqy/android-network ## Basic Information - **Project Name**: AndroidNetwork - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-10-11 - **Last Updated**: 2024-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #使用场景
*1. 获取网络运营商*
*2. 获取网络状态*
*3. 获取网络源、通信技术类型*
*4. 打开/判断网络设置*
*5. 监听网络变化*

#使用方法
##1. 获取网络运营商
NetworkProvider.get().checkSimState(Context context); //检查sim卡
NetworkProvider.get().getProvider(Context context);  //获取运营商
##2. 获取网络状态
NetworkState.get().getState(Context context);//获取网络状态
NetworkState.get().getStateS(Context context);//获取网络状态
public enum State{
 UNKNOWN,
 CONNECTED_ING,  //正在连接
 CONNECTED,  //连接
 DISCONNECTING_ING, //正在断开
 DISCONNECTING, //断开
 NO_AVAILABLE,  //不可用
 AVAILABLE,  //不可用
 SUSPENDED,  //网络暂停
}
NetworkState.get().isAvailable(Context context);//是否可用
NetworkState.get().isAvailableS(Context context);//是否可用
NetworkState.get().isConnected(Context context);//是否连接
##3. 获取网络源、通信技术类型
NetworkType.get().getSourceType(Context context);//获取网络源类型
NetworkType.get().getSourceTypeS(Context context);//获取网络源类型
public enum Source {
 UNKNOWN,  //未知种类
 BLUETOOTH, //蓝牙网络
 DUMMY,  //虚拟网络
 ETHERNET, //以太网
 MOBILE,  //移动流量
 WIFI,  //Wifi
 WIMAX  //WIMAX全球互通微波存取数据连接
}
NetworkType.get().getCTType(Context context);//获取通信技术类型
NetworkType.get().getCTTypeS(Context context);//获取通信技术类型
public enum CT {
 UNKNOWN,  //未知种类,或者没连接,或者不可用
 Generation2,  //2G
 Generation3,  //3G
 Generation4,  //4G
 Generation5  //5G
}
##4. 打开/判断网络设置
NetworkSetting.get().isMobileNetworkOpen(Context context);//判断移动网络是否打开
NetworkSetting.get().isWifiNetworkOpen(Context context);//判断Wifi网络是否打开
NetworkSetting.get().openSetting(Context context);//打开网络设置界面
##5. 监听网络变化
在需要知道网络参数的地方开启/解除网络监听
 public void openReceiver(View view){
  NetworkHelper.get().createNetworkBroadcast(this);
 }

 public void closeReceiver(View view){
  NetworkHelper.get().unregisterNetworkBroadcast(this);
 }
之后实现观察者的方法从中取出NetworkBean对象即可

public class NetWorkActivity extends Activity implements Observer {
 private TextView mTV;
 @Override
 protected void onCreate(@Nullable Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_network);
  NetworkObservable.get().addObserver(this);
  mTV = findViewById(R.id.txt_netWork);
 }

 @Override
 public void update(Observable o, Object arg) {
  if (arg!=null){
   NetworkBean bean = (NetworkBean) arg;
   mTV.setText(bean.toString());
  }
 }
}