Android 台灣中文網

標題: 開啟app後,檢查網路連線狀態 [打印本頁]

作者: kansas73    時間: 2015-3-7 21:58
標題: 開啟app後,檢查網路連線狀態
本帖最後由 kansas73 於 2015-3-7 21:59 編輯

如果要寫一隻需要有網路功能的APP,一點進APP來檢查網路是否有開啟是非常重要的事情
但我發現有個問題,那就是當點進APP之後發現沒有wifi
彈出一個視窗提醒你要前往設定,按下button後跳去設定的頁面
可是此時如果跳到設定wifi的頁面後
並沒有把wifi開啟又直接案返回鍵回到APP本身
這時候的APP並不會發現你沒有開啟WIFI
我想要的功能是當你什麼都沒有開啟又按返回鍵退回APP
此時APP會知道你沒有WIFI而可能顯示一些通知或者讓你沒辦法在繼續下一個動作
這個問題要怎麼解決呢?
  1. private void chkStatus(){
  2.             ConnectivityManager mConnectivityManager =
  3.                             (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
  4.             NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
  5.             //WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);

  6.             //如果未連線的話,mNetworkInfo會等於null
  7.             if(mNetworkInfo != null)
  8.             {
  9.                     Toast.makeText(this,R.string.toast_WiFi_Connected,Toast.LENGTH_LONG).show();
  10.             }else{
  11.                     AD();
  12.             }
  13.     }
  14.     //詢問是否開啟系統WIFI設置畫面
  15.     private void AD(){
  16.             new AlertDialog.Builder(MainActivity.this)
  17.         .setTitle(R.string.ad_notwifi_title)
  18.         .setMessage(R.string.ad_notwifi_message)
  19.         .setPositiveButton(R.string.ad_notwifi_yes, new DialogInterface.OnClickListener() {
  20.             @Override
  21.             public void onClick(DialogInterface dialog, int which) {
  22.                     Intent i = new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK);
  23.                         startActivity(i);
  24.             }
  25.         }) .show();
  26.                
  27.         }
複製代碼

作者: whl    時間: 2015-3-8 09:10
在 onResume 去做 wifi 判斷啊!
作者: kansas73    時間: 2015-3-8 11:54
whl 發表於 2015-3-8 09:10
在 onResume 去做 wifi 判斷啊!

太棒了!!!這樣我會了
謝謝whl大 每次都提供我意見感謝您!




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1