簡體   English   中英

如何檢測手機是否正在掃描或已連接到wifi

[英]How to detect if phone is scanning or connected to wifi

我的應用程序的某些用戶說電池很快就耗盡了電量。 我確定在打開gps和wifi時會顯示它。

我有以下代碼,我認為該代碼確定了wifi是打開還是關閉。 它總是返回未連接。 由於某種原因,我的電話無法連接到辦公室wifi,因此可以算出來。

我想要的是能夠檢測電話設置中是否已打開wifi。

我不確定我是否正確,但是如果wifi開啟但未連接,這是否還會耗盡電池電量?

是否有任何代碼可以告訴我是否打開或關閉了wifi?

private static boolean isConnectedWiFi(Context context) {

    ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

        if (mWifi.isConnected()) {

            return true;

        } else {

            return false;
        }

}

這段代碼將有助於檢查Android設備上是否啟用了Wi-Fi。

WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if (wifi.isWifiEnabled()){
//wifi is enabled
}

您還可以使用wifi.getWifiState()獲取wifi的當前狀態。

使用此類檢查設備是否與工作網絡連接。 該課程適用於所有可能的互聯網提供商。

public class ConnectionDetector {

private Context _context;

public ConnectionDetector(Context context){
    this._context = context;
}

/**
 * Checking for all possible internet providers
 * **/
public boolean isConnectingToInternet(){
    ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
      if (connectivity != null)
      {
          NetworkInfo[] info = connectivity.getAllNetworkInfo();
          if (info != null)
              for (int i = 0; i < info.length; i++)
                  if (info[i].getState() == NetworkInfo.State.CONNECTED)
                  {
                      return true;
                  }

      }
      return false;
}

}

//連接檢測器

cd =新的ConnectionDetector(getApplicationContext());

並通過要檢查Internet連接的ConnectionDetector類的對象調用方法isConnectingToInternet()。 當Internet工作時,此方法將返回true,否則返回false。

// Check if Internet present
    if (!cd.isConnectingToInternet()) {
        // Internet Connection is not present
        alert.showAlertDialog(
                MainActivity.this,
                "Alert!!",
                "Internet Connection is not on.Please check your network.",
                false);
        // stop executing code by return
        return;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM