Android之判斷手機是否連網

來源:互聯網
上載者:User

標籤:

public static boolean isNetworkConnected(Context context) {
  if (context != null) {
    ConnectivityManager mConnectivityManager = (ConnectivityManager) context
    .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
    if (mNetworkInfo != null) {
    //mNetworkInfo.isAvailable();
      return true;//有網
    }
  }
  return false;//沒有網
}

public static void OpenNetworkSetting(final Context context) {
  // 檢查有沒有網路
  ConnectivityManager connectivityManager = (ConnectivityManager) context
    .getSystemService(Context.CONNECTIVITY_SERVICE);
  NetworkInfo activeNetworkInfo = connectivityManager
    .getActiveNetworkInfo();
  //模擬器是用電腦上網,有可能設定飛航模式activeNetworkInfo!=null
  //在真機測試。真機也要上網
  //用一台膝上型電腦,做wifi串連
  if (activeNetworkInfo == null) {
    // 沒網,顯示一個dialog,
    AlertDialog.Builder dialog = new Builder(context);
    dialog.setMessage("親,現在你沒網");
    // 開啟
    dialog.setPositiveButton("開啟", new OnClickListener() {

      @Override
      public void onClick(DialogInterface dialog, int which) {
        try {
          //不同的android版本網路設定介面activity中的intent-filetr,action是不一樣的
          //不同的android版本的代碼是不一樣的。
          int androidVersion=android.os.Build.VERSION.SDK_INT;
          //通過代碼得到手機廠商名稱,
          //不同廠商的手機的代碼是不一樣的。
          //有的手機能得到手機號,大部分手機能得到sim卡中的串號,串號每個手機是唯一的。
          if (androidVersion>=10)
          {
          // 開啟系統內建的網路設定介面
          Intent intent = new Intent(
          android.provider.Settings.ACTION_WIRELESS_SETTINGS);
          context.startActivity(intent);
          }

        } catch (Exception e) {
        // TODO: handle exception
        }

      }
    });
    // 取消
    dialog.setNegativeButton("取消", new OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
    // TODO Auto-generated method stub
      dialog.cancel();
    }
  });
  dialog.show();
  }

}

Android之判斷手機是否連網

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.