我的应用会监听蜂窝网络类型的变化,为此我使用PhoneStateListener
并侦听LISTEN_DATA_CONNECTION_STATE
,处理获取网络类型的onDataConnectionStateChanged
。
文档有点稀疏,但据我所知,当网络类型发生变化时会调用它,而且它看起来很有用;但是,如果我例如手动切换到2G模式,导致手机从HSPA切换到EDGE,我的服务就不会得到通知。
我错过了什么,或者听错了事件?
作为一种解决方法,我也开始监听信号电平的变化,这会隐藏问题,因为它们更频繁,让我有机会检查网络类型,但是没有得到通知的根本问题在一些网络上的变化仍然存在。