我有一個在啓動時依賴Internet連接的應用程序,我可以檢測到下面的代碼。如何在Android手機上可靠地檢測到互聯網連接喚醒
但是,當手機閒置一段時間,我解鎖它並啓動我的應用程序,它不會立即找到連接,我必須重新啓動應用程序才能獲得成功。
我試過在一個線程中等待,然後重試下面的代碼,但沒有成功。
任何想法將不勝感激,謝謝。
代碼
// check Network/Internet connection
public boolean isOnline() {
try {
ConnectivityManager cm = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
boolean haveConnectedWifi = false;
boolean haveConnectedMobile = false;
cm = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] netInfo = cm.getAllNetworkInfo();
for (NetworkInfo ni : netInfo) {
if (ni.getTypeName().equalsIgnoreCase("WIFI")) {
if (ni.isConnected()) {
haveConnectedWifi = true;
}
}
if (ni.getTypeName().equalsIgnoreCase("MOBILE")) {
if (ni.isConnected()) {
haveConnectedMobile = true;
}
}
}
return haveConnectedWifi || haveConnectedMobile;
} catch (Exception e) {
Log.e(TAG, e.toString());
}
return false;
}
致電onresume中的方法 – stinepike