【发布时间】:2012-06-12 12:21:21
【问题描述】:
我已经进行了很好的搜索并尝试了我看到的各种答案,但它们似乎都不适用于我的情况。我正在寻找一个强大的解决方案,所以,事不宜迟;
我有一个不寻常的情况,我的应用需要连接到没有互联网连接的 wifi 网络来执行某些任务(本地网络),一旦完成,它需要断开连接并重新连接到备用网络,可以是移动设备,也可以是具有互联网连接的替代 wifi 热点,以便我可以进行通讯。
我遇到的问题是,我的通讯队列需要确保它在即将开始通讯时确实有一条通往互联网的路由(在连接更改时触发)
我在 ConnectivityManager 上尝试过各种调用,例如:
isConnected();
isAvailable();
但即使连接到我的非互联网网络,这些也会返回 true。
我需要一种方法来确保在连接到我的非 Internet 网络(或任何其他非 Internet 网络,例如 BT Openzone,例如,在未注册和登录时)我可以被告知有is not route to the internet,然后当我确实有路由时,我可以返回一个 true。
我考虑的一种可能性是 ping,但如果可能的话,我更喜欢更整洁的东西。
我尝试了 requestRouteToHost() 但这并没有达到我的预期,实际上我试图改变连接,这不是我想要的。
谢谢
【问题讨论】:
标签: android android-wifi connectivity