判断网络是否连接

   /**
     * 测试网络是否已连接
     * 
     * @param retryCount
     *            重试次数,如果为0,则不重试
     * @param retryDelayTimes
     *            重试时间间隔(单位:秒)
     * @return true表示已连接,否则为false
     */
    public boolean testNetConnected(int retryCount, int retryDelayTimes) {
        boolean flag = isNetConnected();// 网络是否已连接
        try {
            for (int i = 0; !flag && i < retryCount; i++) {
                Thread.sleep(retryDelayTimes * 1000);
                flag = isNetConnected();
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return flag;
    }
    
    /**
     * 判断网络是否已连接
     * TODO: 这里的代码需要整理,实际上是判断手机是否正常连接网络。WIFI或者GPRS。
     * @return true表示已连接,否则为false
     */
    private boolean isNetConnected() {
        boolean flag = false;
        ConnectivityManager cm = (ConnectivityManager) LawCaseEditorActivity.this
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        if (null != cm) {
            NetworkInfo nif = cm.getActiveNetworkInfo();
            if (null != nif && nif.isConnected()) {
                if (nif.getState() == NetworkInfo.State.CONNECTED) {
                    flag = true;
                }
            }
        }
        return flag;
    }
posted @ 2012-09-08 19:01  程序学习笔记  阅读(517)  评论(0编辑  收藏  举报