android - 远程检测安卓手机连接状态

标签 android android-wifi google-voice

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

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

我提出了一些想法,例如监控手机的 gtalk 状态,以及检测 android 客户端是否在线 - 我可以让这个工作,但这不是世界上最干净的方法.

有什么建议或想法吗?我知道这不完全是一个编程问题,但我希望得到一些帮助!

最佳答案

您可以在 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 有一个更详细的示例,包括服务器端方面。

关于android - 远程检测安卓手机连接状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10108572/

相关文章:

android - 启动新 Activity 的 Intent 非常慢 :(

android - Wifi 扫描结果未广播

android - 在 sleep 模式下未收到 UDP 广播数据包

Android - 语音识别和保存音频文件 - 在某些设备上不工作

azure - 无法注册 Azure - "We were unable to verify your account"

android - 无法解决Android Studio中的依赖关系

android - Android 上的印地语马拉地语字体

android - 如何在异常时正确重启 Android 服务?

android - 我应该如何使用 WiFi Direct 将文件共享到另一台 Android 设备? - 致敬和洛根广场

android - 标准调用屏幕上的 Activity 窗口 - 启用按钮