//创建网络判断类
package com.bw.test.utils;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class NetWorkUtils {
//判断是否有网
public static boolean isNetWorkConnect(Context context){
//获取网络连接状态管理器
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//得到网络信息
NetworkInfo info = cm.getActiveNetworkInfo();
if (info!=null){
return info.isAvailable();
}
return false;
}
//判断是wifi
public static boolean isWifi(Context context){
//获取网络连接状态管理器
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//从网络连接管理器中获取wifi
NetworkInfo wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifi!= null){
return true;
}
return false;
}
//判断是流量
public static boolean isMobile(Context context){
//获取网络连接状态管理器
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//从网络连接管理器中获取wifi
NetworkInfo mobile = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (mobile!= null){
return true;
}
return false;
}
}
//注册定义好的广播(在主方法中)
NetWrokBroadcastReceiver receiver = new NetWrokBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(receiver, intentFilter);
//定义广播
//定义广播监听网络状态
private class NetWrokBroadcastReceiver extends BroadcastReceiver {
//重写接收广播的方法
@Override
public void onReceive(Context context, Intent intent) {
boolean netWorkConnect = NetWorkUtils.isNetWorkConnect(context);
if (netWorkConnect) {
Toast.makeText(context, "有网", Toast.LENGTH_SHORT).show();
//获取网络数据
getServerData();
boolean wifi = NetWorkUtils.isWifi(context);
if (wifi) {
Toast.makeText(context, "wifi", Toast.LENGTH_SHORT).show();
} else {
boolean mobile = NetWorkUtils.isMobile(context);
if (mobile) {
Toast.makeText(context, "流量大大有", Toast.LENGTH_SHORT).show();
}
}
} else {
Toast.makeText(context, "无网", Toast.LENGTH_SHORT).show();
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.mipmap.ic_launcher);
builder.setTitle("网络提示");
builder.setMessage("请求设置网络");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//整体:
//startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
//WIFI:
//startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
//流量:
startActivity(new Intent(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS));
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.show();
}
}
}