应用程序运行时检测损坏的Internet连接

时间:2013-01-20 12:36:20

标签: android

我已经在使用下面的代码来检测用户是否在应用程序的启动画面上连接到互联网,但每当用户处于特定活动时我都需要检测到这一点。想象一下,您正在使用精细导航,并且您依赖于互联网连接,因此您必须在发生时检测到断开的互联网连接。

如何在不使用无限循环减慢应用程序的情况下执行此操作?

private boolean isOnline(Context context) {
    try {
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo networkInfo = cm.getActiveNetworkInfo();

        return (networkInfo != null && networkInfo.isConnected());
    } catch (Exception exc) {
        return false;
    }
}

2 个答案:

答案 0 :(得分:0)

我相信你应该用PhoneStateListener编写自己的服务,你应该实现这个方法public void onDataConnectionStateChanged(int state) {}从这个服务中你可以随时检查是否有DataConection。

以下是关于Android PhoneStateListener Illustration–with Auto Logging Calls to Google Calendar Example

的文章

答案 1 :(得分:0)

你应该使用BroadcastReceiver来做到:

以下是一些参考资料,您可以通过示例更好地了解这一点。

Reference 1

Reference 2

Reference 3

谢谢,