关闭

在android的开发中,判断是否连接网络

330人阅读 评论(0) 收藏 举报
分类:

在android的开发中,尤其是与访问网络有关的开发,都要判断一下手机是否连接上了网络,下面是一个判断是否连接网络的代码片段:

 

package cn.com.util; 


import android.app.Activity; 

import android.app.AlertDialog; 

import android.content.Context; 

import android.content.DialogInterface; 

import android.content.Intent; 

importandroid.net.ConnectivityManager; 

import android.net.NetworkInfo; 

import android.provider.Settings; 

import android.widget.TextView; 

 

public class IsInternet {

 

   /**

    * 判断网络情况

    * @param context 上下文

    * @return false 表示没有网络 true 表示有网络

    */ 

   public static boolean isNetworkAvalible(Context context) { 

       // 获得网络状态管理器 

       ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 

 

       if (connectivityManager == null) { 

           return false; 

       } else { 

           // 建立网络数组 

           NetworkInfo[] net_info = connectivityManager.getAllNetworkInfo(); 

 

           if (net_info != null) { 

                for (int i = 0; i <net_info.length; i++) { 

                    // 判断获得的网络状态是否是处于连接状态 

                    if (net_info[i].getState()== NetworkInfo.State.CONNECTED) { 

                        return true; 

                    } 

                } 

           } 

       } 

       return false; 

   } 

 

   // 如果没有网络,则弹出网络设置对话框 

   public static void checkNetwork(final Activity activity) { 

       if (!IsInternet.isNetworkAvalible(activity)) { 

           TextView msg = new TextView(activity); 

           msg.setText("当前没有可以使用的网络,请设置网络!"); 

           new AlertDialog.Builder(activity) 

                   .setIcon(R.drawable.android) 

                    .setTitle("网络状态提示") 

                    .setView(msg) 

                    .setPositiveButton("确定", 

                            newDialogInterface.OnClickListener() {  

                                public voidonClick(DialogInterface dialog, int whichButton) { 

                                    // 跳转到设置界面 

                                   activity.startActivityForResult(new Intent(Settings.ACTION_WIRELESS_SETTINGS), 0); 

                                } 

                           }).create().show(); 

       } 

       return; 

   } 

 

这个代码用到的地方很多,直接添加到自己的项目中就可以使用。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:83367次
    • 积分:1135
    • 等级:
    • 排名:千里之外
    • 原创:39篇
    • 转载:3篇
    • 译文:0篇
    • 评论:5条
    最新评论