gpt4 book ai didi

android - 自动重新连接 socket 从 wifi 到 4G

转载 作者:行者123 更新时间:2023-11-30 02:31:26 30 4
gpt4 key购买 nike

我有一个使用 Wifi 或 4G 信号连接到 TCP 服务器的套接字,每 5 分钟从服务器接收一次 PING。但是如果我关闭设备上的 Wifi,我希望 socket 能够检测到这一点并使用 4g 信号重新连接。 我想知道如果我离开 wifi 范围或关闭 wifi 是否有办法自动将 socket 重新连接到 4G?

还有没有其他方法(如果wifi可用,从4g到wifi?

最佳答案

注册一个类内的 BroadCastReceiver 来打开或关闭 WIFI:

  IntentFilter filter = new IntentFilter();
filter.addAction("android.net.wifi.supplicant.CONNECTION_CHANGE");

receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
boolean isConnected = intent.getBooleanExtra(WifiManager.EXTRA_SUPPLICANT_CONNECTED, false);
if (isConnected ) {
//Reconnect using Wifi.
} else {
//Reconnect using 4G.
}
}
}
registerReceiver(receiver, filter);

不要忘记注销接收器:

@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(receiver);
}

关于 EXTRA_SUPPLICANT_CONNECTED extra,文档指出:

The lookup key for a boolean that indicates whether a connection to the supplicant daemon has been gained or lost. true means a connection now exists. Retrieve it with getBooleanExtra(String, boolean).

Constant Value: "connected"

关于android - 自动重新连接 socket 从 wifi 到 4G,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27281229/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com