【问题标题】:Remote Device Internet Connectivity Status - Android远程设备互联网连接状态 - Android
【发布时间】:2014-05-13 06:23:16
【问题描述】:

我正在研究一种服务器-客户端机制,其中我的客户端是运行任何版本的 android 的移动设备。我想通过我的服务器检查远程android客户端是否连接到互联网并且互联网正在运行。我知道在这种情况下没有直接的方法。 让android客户端每5分钟ping一次我的服务器会是最好的解决方案吗?或者还有其他我不知道的更有效的方法。 对此的任何帮助将不胜感激。

【问题讨论】:

    标签: android


    【解决方案1】:

    您可以将 Connectivity Manager 用作可以为您提供连接状态的广播。

    因此,每当您想从服务器检查 Internet 的连接性时,您都可以使用该状态值来了解 Internet 连接状态。

    如文档中所述 (connectivity-monitoring) -

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

    <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
    

    【讨论】:

    • 感谢您的及时回复。是的,我知道这种广播接收器方法,我也在使用它。但我的问题是如何从我的服务器访问我的移动设备的连接状态值??
    • 目前尚不清楚从服务器而不是像我们通常那样从客户端检查此状态的目的是什么(异常 - 服务器服务并且客户端对所服务的内容做出反应)。您提到的场景确实需要不断轮询服务器以获取更新的反馈。
    • 这是一种服务器将与客户端检查其数据包是否正常工作的场景。如果它工作,它会发送一封电子邮件,如果它不工作,它会发送一个短信。
    • 好的,这样做 - 服务器对客户端说,嘿,您的数据包是否通过发送一些变量来工作。当客户端收到该变量时,它知道服务器正在请求连接检查。所以客户会回复一些响应(通常是连接状态),嘿,我的数据包正在工作,所以请给我发电子邮件,否则如果不工作,请给我发短信。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多