zoukankan      html  css  js  c++  java
  • Android检测网络连接

    Android检测网络连接

    import android.app.AlertDialog;
    import android.content.Context;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.net.ConnectivityManager;
    import android.net.NetworkInfo;
    import android.os.Handler;
    
    
    /**
     * Created by mzb on 13-12-16.
     */
    public class NetworkUtil {
    
        public static final int Message_Cancel = 0;
        public static final int Message_Succeed = 1;
    
        /**
         * 判断是否有网络连接
         *
         * @param context 上下文Context
         * @return false没有联网,true已经联网
         */
        public static boolean canNetworkUseful(Context context) {
    
            ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            if (manager == null) {
                return false;
            }
    
            //获取当前活动的网络状态(如果同时开启3G和WIFI,则当前活动网络是WIFI),如果没有连接网络,将会返回null
            NetworkInfo networkinfo = manager.getActiveNetworkInfo();
            if (networkinfo == null || !networkinfo.isAvailable()) {
                return false;
            }
    
            return true;
        }
    
        /**
         * 如果没有联网,显示提示联网对话框;已经联网,返回false
         *
         * @param context context
         * @param handler 处理器,如果用户取消联网,则向处理器发送Message_Cancel
         * @return false没有联网,true已经联网
         */
        public static boolean showCheckNetworkDialog(final Context context, final Handler handler) {
            if (!canNetworkUseful(context)) {
                new AlertDialog.Builder(context).setMessage("当前网络不可用,请检查你的网络设置。").setPositiveButton("去设置", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        //在安卓3.0以上的版本中,wifi联网的设置被放置在了主设置页面中。在之前的版本中,wifi联网在wifi设置页面中。根据不同的版本进行不同的页面跳转
                        if (android.os.Build.VERSION.SDK_INT > 10) {
                            context.startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS));
                        } else {
                            context.startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
                        }
                    }
                }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        handler.sendEmptyMessage(Message_Cancel);
                    }
                }).show();
                return false;
            }
            return true;
        }
    }
  • 相关阅读:
    mysql5.7.10 源码编译安装记录 (centos6.4)【转】
    bash脚本里su命令执行
    linux服务器登录时慢出现卡顿
    iptables NAT规则【转】
    双机/RAC/Dataguard的区别【转】
    一步一步搭建 oracle 11gR2 rac + dg 之前传 (一)【转】
    一步一步搭建oracle 11gR2 rac+dg之环境准备(二)【转】
    一步一步搭建oracle 11gR2 rac+dg之共享磁盘设置(三)【转】
    一步一步搭建 oracle 11gR2 rac+dg之grid安装(四)【转】
    一步一步搭建oracle 11gR2 rac+dg之database安装(五)【转】
  • 原文地址:https://www.cnblogs.com/mushan/p/3477596.html
Copyright © 2011-2022 走看看