[英]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.