首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从wifi到4G自动重新连接插座

从wifi到4G自动重新连接插座
EN

Stack Overflow用户
提问于 2014-12-03 20:43:13
回答 1查看 654关注 0票数 1

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

另外,如果wifi可用的话,还有其他方法(从4g到wifi )吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-03 21:29:24

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

代码语言:javascript
复制
  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);

别忘了注销收信人:

代码语言:javascript
复制
@Override
protected void onDestroy() {
  super.onDestroy();
  unregisterReceiver(receiver);
}

关于额外的EXTRA_SUPPLICANT_CONNECTED,文档声明:

布尔值的查找键,指示到请求守护进程的连接是否已获得或丢失。true表示现在存在连接。用getBooleanExtra(字符串、布尔值)检索它。 常量值:“连接”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27281229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档