liangoogle 发表于 2013-1-29 22:00:24

判断飞行模式 ,检测是否有网络

在飞行模式下:检测是否有网络,有则返回activeNetInfo,没有返回null
    /**   * read the info of network   */    private NetworkInfo getAvailableNetWorkInfo(YyBackUpActivity activity) {      ConnectivityManager connectivityManager = (ConnectivityManager) activity                .getSystemService(Context.CONNECTIVITY_SERVICE);      /* check network status */      NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();      /* check network status if it is available */      if (activeNetInfo != null && activeNetInfo.isAvailable())            return activeNetInfo;      return null;    }
检查是否有网络时先判断是否是飞行模式:
 
//是否飞行模式  
    static boolean isAirplaneModeOn(Context context) {  
          return android.provider.Settings.System.getInt(context.getContentResolver(),  
                  android.provider.Settings.System.AIRPLANE_MODE_ON, 0) != 0;  
    } 
 
 
 
下面是我在一个程序中调用上面两个方法
//如果是飞行模式
 
if (isAirplaneModeOn(context)) {
 //如果连接的方式可用并且不为空                               
if (getAvailableNetWorkInfo(context)!=null&&getAvailableNetWorkInfo(context).isAvailable())
YyBackUpGF.showToast(context, R.string.msg_latest_version_tip);
//为空的时候
else {YyBackUpGF.showToast(context,R.string.menu_update_failed);}
                            }
//不是飞行模式时
else {YyBackUpGF.showToast(context,R.string.menu_update_failed);
                            }
 
 
一定要加下面两个权限:
 
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
页: [1]
查看完整版本: 判断飞行模式 ,检测是否有网络