我知道代码如何检查设备中的互联网连接,但我想知道如何管理互联网连接检查,因为我的应用程序包含许多asnchronours任务,服务等等意味着在哪里显示Internet错误对话框。
答案 0 :(得分:1)
您可以注册ConnectivityManager.CONNECTIVITY_ACTION广播操作,以侦听设备上的连接更改。
ConnectivityManager.CONNECTIVITY_ACTION http://developer.android.com/reference/android/net/ConnectivityManager.html#CONNECTIVITY_ACTION
答案 1 :(得分:0)
创建一个Utility类,其中添加一个检查Internet可用性的方法,如下所示:
/**
* method to check the connection
*
* @return true if network connection is available
*/
public static boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) MainApplication.getsApplicationContext().getSystemService(
Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
if (info == null)
return false;
State network = info.getState();
return (network == State.CONNECTED || network == State.CONNECTING);
}
/**
* method to toast message if internet is not connected
*
* @return true if internet is connected
*/
public static boolean isInternetConnected() {
if (isNetworkAvailable()) {
return true;
} else {
// TODO Here write the code to show dialog with Internet Not Available message
......
return false;
}
}
现在您可以在执行AsyncTask之前使用它,只需添加此检查
if (Utility.isInternetConnected()) {
// TODO start your asyntask here
}