<receiver android:name=".broadcast.Switch3GReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>

@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub

Activity activity = GlobalModel.getInstance().getCurrentActivity();
if(null == activity){
return;
}
notifySwitch3G(activity);
}

public void notifySwitch3G(final Context context) {

ConnectivityManager connectMgr = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE);
NetworkInfo mobNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if(mobNetInfo == null)
return;
if (mobNetInfo.isConnected()) {
SharedPreferences sp = context.getSharedPreferences("3gnotify", Context.MODE_PRIVATE);
boolean isCheck = sp.getBoolean(GlobalModel.getInstance().getUser().getUid() + "_3gnotify", false);
if (isCheck) {
new AlertDialog.Builder(context)
.setTitle("提示")
.setMessage("是否使用3G移动数据进行使用")
.setNegativeButton("取消",
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Activity act = (Activity) context;
act.finish();
}
})
.setPositiveButton("确定",null).show();
}
}
}

/**
* 网络是否可用
* @return
*/
public static boolean isNetworkConnected(Context context){

if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}

/**
* 得到当前网络类型 3G或者WIFI
* @return
*/
public static int getNetworkType(Context context){
if(is3G(context)){
return ConnectivityManager.TYPE_MOBILE;
}else if(isWifi(context)){
return ConnectivityManager.TYPE_WIFI;
}
return 0;
}

/**
* 判断当前网络是否为wifi
*
* @param mContext
* @return
*/
public static boolean isWifi(Context mContext) {

ConnectivityManager connectivityManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetInfo != null && activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI) {
return true;
}
return false;
}

/**
* 判断当前网络是否是3G网络
*
* @param context
* @return boolean
*/
public static boolean is3G(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetInfo != null
&& activeNetInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
return true;
}
return false;
}

更多相关文章

  1. Android中获取当前进程名称
  2. android 设置系统屏幕亮度
  3. js 中判断手机是iphone,ipad还是Android、微信
  4. error: resource android:attr/dialogCornerRadius not found. M
  5. Android(安卓)判断是否在通话中
  6. Android(安卓)判断SD卡是否存在及容量查询
  7. 判断网页是运行在iOS上还是Android上
  8. android BroadcastReceiver遇到 java.lang.IllegalAccessExcepti
  9. Android(安卓)网络开发详解

随机推荐

  1. Android下媒体库的实现
  2. ANDROID 自动接听 支持2.3以上版本
  3. [转]Jollen 的 Android 教學,#3: 第一個
  4. Android安全机制详解
  5. Android系统启动,用过安卓手机的都知道,你
  6. Android占领2010的六大理由
  7. android 添加文件打开方式,找了很久终于找
  8. android layout以及一些常用的android控
  9. Permissions
  10. Android Layout XML属性研究--android:la