【问题标题】:Android event trigger when data is sent over network. Detect network use通过网络发送数据时触发 Android 事件。检测网络使用
【发布时间】:2012-02-03 18:41:22
【问题描述】:

是否有任何事件可以设置过滤器以使用通过网络发送数据时触发的广播接收器来接收?

我想要做的是闲置,直到用户通过他们的 wifi 发送数据,然后触发做一些处理。

我知道 trafficStats 并且可能会使用它,但是我无法找到任何在通过网络发送数据时触发的事件。我曾考虑过使用交通统计进行轮询以检测 tx/rx 的变化,但这似乎是一种繁琐的方法。我有一些其他的想法,但我希望有一个简单的答案。

有什么建议吗?

【问题讨论】:

    标签: java android events networking


    【解决方案1】:

    我只知道如何监听 3G 网络,这种情况下你可以使用 TelephonyManager

    TelephonyManager mTelmgr = (TelephonyManager)getContext().getSystemService(Context.TELEPHONY_SERVICE);
    mTelmgr.listen(mPhoneCallListener, PhoneStateListener.LISTEN_DATA_ACTIVITY);
    

    但是,这不适用于 WiFi,我只能想到轮询。

    【讨论】:

    • 感谢 Alex,我最终在一个单独的线程中使用了轮询。这种方法有效,不会占用 UI 线程,而且重量很轻。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 2011-04-05
    • 2015-06-23
    相关资源
    最近更新 更多