溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中怎么判斷是否能上網(wǎng)

發(fā)布時間:2021-06-28 17:12:44 來源:億速云 閱讀:256 作者:Leah 欄目:移動開發(fā)

這篇文章將為大家詳細講解有關Android中怎么判斷是否能上網(wǎng),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Android 判斷是否能真正上網(wǎng)的實例詳解

 檢測網(wǎng)絡是否連接

實現(xiàn)代碼:

/**

 *
 檢測網(wǎng)絡是否連接

 *

 *
 @return

 */

private

boolean 
isNetworkAvailable() {

  //
 得到網(wǎng)絡連接信息

  ConnectivityManager
 manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

  //
 去進行判斷網(wǎng)絡是否連接

  if

(manager.getActiveNetworkInfo() != null)
 {

    return

manager.getActiveNetworkInfo().isAvailable();

  }

  return

false;

}

 ping的狀態(tài)

public static final boolean ping() {

  String result = null;
  try {
    String ip = "www.baidu.com";// ping 的地址,可以換成任何一種可靠的外網(wǎng)
    Process p = Runtime.getRuntime().exec("ping -c 3 -w 100 " + ip);// ping網(wǎng)址3次
    // 讀取ping的內(nèi)容,可以不加
    InputStream input = p.getInputStream();
    BufferedReader in = new BufferedReader(new InputStreamReader(input));
    StringBuffer stringBuffer = new StringBuffer();
    String content = "";
    while ((content = in.readLine()) != null) {
      stringBuffer.append(content);
    }
    Log.d("------ping-----", "result content : " + stringBuffer.toString());
    // ping的狀態(tài)
    int status = p.waitFor();
    if (status == 0) {
      result = "success";
      return true;
    } else {
      result = "failed";
    }
  } catch (IOException e) {
    result = "IOException";
  } catch (InterruptedException e) {
    result = "InterruptedException";
  } finally {
    Log.d("----result---", "result = " + result);
  }
  return false;

}

關于Android中怎么判斷是否能上網(wǎng)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI