管理整个应用程序中的Internet连接

时间:2015-04-21 11:34:02

标签: java android internet-connection

我知道代码如何检查设备中的互联网连接,但我想知道如何管理互联网连接检查,因为我的应用程序包含许多asnchronours任务,服务等等意味着在哪里显示Internet错误对话框。

2 个答案:

答案 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
            }