六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 59|回复: 0

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

[复制链接]

升级  8%

12

主题

12

主题

12

主题

秀才

Rank: 2

积分
62
 楼主| 发表于 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" />
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表