我有一个广播接收器正在观看wifi状态,并在启用时向我的服务器发送http请求。我遇到的问题是,当我在调试器下运行代码时,它工作正常,但是当我在没有调试器的情况下运行相同的代码时,它会引发异常。
该异常表示失败实际上是DNS解析失败 - 它无法解析DNS名称。
我决定即使系统触发'启用'事件,DNS解析器还没有完全初始化,并且在尝试发送请求之前添加了10秒的延迟,这解决了问题,但我真的很不舒服解。即使在我的情况下它并不重要,10秒似乎太长了。在所有平台上,一个更大的问题将足够10秒?
另一种解决方案是拦截此特定异常并重试。问题是 - 重试多少次?
我的问题是 - 等待DNS解析器完全初始化的最佳方法是什么?是否有我可以订阅的活动或通知?