首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当没有互联网接入android时,敬酒。

当没有互联网接入android时,敬酒。
EN

Stack Overflow用户
提问于 2015-11-07 16:04:53
回答 1查看 1.6K关注 0票数 1

如何使此代码永远在后台运行,并始终检测是否存在internet访问(非internet连接),并在没有internet访问时敬酒?

here is我想要什么(见喵喵的答案),但它是用来探测互联网的

代码语言:javascript
复制
// check connectivity (Internet access)
    private boolean checkConnectivity() {
        System.out.println("executeCommand");
        Runtime runtime = Runtime.getRuntime();
        try {
            Process mIpAddrProcess = runtime
                    .exec("/system/bin/ping -c 1 8.8.8.8");
            int mExitValue = mIpAddrProcess.waitFor();
            System.out.println(" mExitValue " + mExitValue);
            if (mExitValue == 0) {
                img_c1.setImageResource(R.drawable.index2);
                return true;
            } else {
                img_c2.setImageResource(R.drawable.index2);
                return false;
            }
        } catch (InterruptedException ignore) {
            ignore.printStackTrace();
            System.out.println(" Exception:" + ignore);
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println(" Exception:" + e);
        }
        return false;
    }
EN

回答 1

Stack Overflow用户

发布于 2015-11-07 16:11:43

首先,永远在后台运行这段代码是个坏主意。

相反,使用BroadCastReceiver检查网络状态,因此它只在网络状态更改时才会激活,

您必须注册网络状态更改事件的BroadcastReceiver。因此,当任何改变发生在设备上的网络安卓广播事件和你的BroadcastReceiver将监听该事件,并在此基础上显示烤面包。

好的教程:http://developer.android.com/training/monitoring-device-state/connectivity-monitoring.html

http://www.grokkingandroid.com/android-getting-notified-of-connectivity-changes/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33584746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档