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

在飞行模式下:检测是否有网络,有则返回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" />

你可能感兴趣的:(android,Access)