判断检查客户手机的网络状态 是关网还是GPRS 还是WIFI ? 检查之后 根据状态做我们要做的事情
//在manifest静态注册,程序启动,receiver有效
//在activity.onCreate(registerReceiver())动态注册,activity启动,receiver有效
public class NetworkStateChangedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
try {
// 判断是关网还是开网
ConnectivityManager manager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = manager.getActiveNetworkInfo();
if (activeNetworkInfo == null) {
LogUtil.i("NetworkStateChangedReceiver", "用户关网");
TApplication.NETWORK_TYPE_IS_NONE = true;
TApplication.NETWORK_TYPE_IS_GPRS = false;
TApplication.NETWORK_TYPE_IS_WIFI = false;
} else {
TApplication.NETWORK_TYPE_IS_NONE = false;
// 开网,判断用户开的是wifi还是gprs;
// 电影
// 用户包月700mb ,1MB是1块钱
// 4G 100MB*60*60*24=864万
NetworkInfo gprsNetworkInfo = manager
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (gprsNetworkInfo != null && gprsNetworkInfo.isConnected()) {
LogUtil.i("NetworkStateChangedReceiver", "用户打开了gprs");
TApplication.NETWORK_TYPE_IS_GPRS = true;
}
NetworkInfo wifiNetworkInfo = manager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifiNetworkInfo != null && wifiNetworkInfo.isConnected()) {
LogUtil.i("NetworkStateChangedReceiver", "用户打开了wifi");
TApplication.NETWORK_TYPE_IS_WIFI = true;
}
// 用户开了gprs,wifi,上网用的是wifi
}
} catch (Exception e) {
ExceptionUtil.handleException(e);
}
}
}
在Application 中设置 网络状态
//在manifest.xml注册
public class TApplication extends Application{
public static boolean NETWORK_TYPE_IS_NONE=false;
public static boolean NETWORK_TYPE_IS_GPRS=false;
public static boolean NETWORK_TYPE_IS_WIFI=false;
}