android检查互联网连接调用函数的最佳位置

时间:2016-05-05 15:08:39

标签: android

使用此功能我检查是否有互联网连接,我在oncreate()方法中调用此功能。如果我启动应用程序时没有互联网连接我显示警告和“确定”按钮,当确定按钮按下我关闭应用程序。如果用户启动后互联网连接正在关闭,应用程序警报不再显示!问题是,在启动应用程序和启动应用程序上,调用该功能的最佳位置在哪里始终检查互联网甚至在应用程序启动后!可以调用两次,oncreate()和onresume()方法吗?

 private boolean isNetworkAvailable() {
        ConnectivityManager connectivityManager 
              = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
        return activeNetworkInfo != null && activeNetworkInfo.isConnected();
    }

1 个答案:

答案 0 :(得分:0)

这听起来像你要求的是在应用运行时监控连接变化的某种方法。

这是一个常见问题,Android框架中已经存在一些简单的解决方案来应对挑战。

我认为最简单的解决方案是利用广播接收器监听ConnectivityManager的广播。来自Android开发人员参考"Determining and Monitoring the Connectivity Status"

  

只要连接详细信息发生更改,ConnectivityManager就会广播CONNECTIVITY_ACTION(" android.net.conn.CONNECTIVITY_CHANGE")操作。您可以在清单中注册广播接收器以收听这些更改并相应地恢复(或暂停)您的后台更新。

在提供的链接上提供了更多信息。当然,在您的情况下,您可能无法管理后台更新,但正在解决的基本问题是相同的。

相关问题