远程检测Android手机的连接状态

时间:2012-04-11 14:58:20

标签: android android-wifi google-voice

我有一个我在Page Plus上使用的Android手机。我试图找出(从Linux网络服务器)远程检测设备是否连接到wifi网络的最佳方法。

我想在没有连接到wifi的情况下禁用我的谷歌语音帐户上的短信转发,但由于我的手机没有数据连接,因此必须远程触发。我知道如何编程转发设置切换功能,我只需要远程检测android设备wifi状态。

我已经抛出了一些想法,例如监控手机的gtalk状态,并检测Android客户端是否在线 - 我可以尝试使用它,但它不是世界上最干净的方法

任何建议或想法?我知道这不是一个编程问题,但我希望得到一些帮助!

1 个答案:

答案 0 :(得分:1)

您可以在Android客户端上运行后台服务,无论何时连接wifi,都会以恒定的时间间隔对网络服务器进行ping操作 - 每当客户端错过“预定”的登记时,网络服务器就会断定手机已断开连接,并执行任何操作在这种情况下你想要的行动。

要ping服务器,我会使用一个简单的TCP套接字:

// you could use IP address instead of the hostname if you don't have a domain name
// PORT_NUM is some value shared between the server and the client e.g. 3456
Socket sock = new Socket("mywebserverurl.com", PORT_NUM);
OutputStream out = sock.getOutputStream();
String data = getDataServerNeeds();
out.write(data.getBytes());
sock.close();

This tutorial有一个更详细的例子,包括服务器端方面。