在Android中检查互联网连接 [英] Checking Internet connection in Android

查看:153
本文介绍了在Android中检查互联网连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

应用程序中是否有任何后台任务与以下应用程序一起运行,以检查以下常见情况下的Internet连接?

Is there any background task which runs with in application to check for internet connectivity for below scenarios as common ?

1。开始从服务器解析/获取数据

1.Start of parsing/fetching data from server

2。在从服务器解析/获取之间

2.In between of parsing/fetching from server

任何示例代码或链接都对我有很大帮助。 / p>

Any sample code or links helps me a lot.

推荐答案

您可以使用以下实用程序类
确保在清单中授予Internet权限。

You can use the below utility class make sure to give internet permission in manifest.

让我知道是否有任何问题。

Let me know if any issues.

private static NetworkUtil mInstance;
private volatile boolean mIsOnline;

private NetworkUtil() {
    ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
    exec.scheduleAtFixedRate(new Runnable() {
        @Override
        public void run() {
            boolean reachable = false;
            try {
                Process process = java.lang.Runtime.getRuntime().exec("ping -c 1 www.google.com");
                int returnVal = process.waitFor();
                reachable = (returnVal==0);
            } catch (Exception e) {
                e.printStackTrace();
            }
            mIsOnline = reachable;
        }
    }, 0, 5, TimeUnit.SECONDS);
}

public static NetworkUtil getInstance() {
    if (mInstance == null) {
        synchronized (NetworkUtil.class) {
            if (mInstance == null) {
                mInstance = new NetworkUtil();
            }
        }
    }
    return mInstance;
}

public boolean isOnline() {
    return mIsOnline;
}

这篇关于在Android中检查互联网连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆