在我的应用程序中,我有一个通过<receiver>
标签启动的作为组件的 BroadcastReceiver
,过滤android.net.conn.CONNECTIVITY_CHANGE
意图。
我的目标是简单地知道何时建立了Wifi连接,所以我在onReceive()
中做的是这样的:
NetworkInfo networkInfo = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
if(networkInfo.getType() == ConnectivityManager.TYPE_WIFI && networkInfo.isConnected()) {
// Wifi is connected
}
它很好地工作,但每当建立Wifi连接时,我似乎总会在大约一秒钟内收到两个相同的意图。我尝试查看任何我可以从意图、ConnectivityManager和WifiManager获取的信息,但我找不到任何区分这两个意图的东西。
查看日志,至少有另一个BroadcastReceiver也接收到了这两个相同的意图。
它正在运行Android 2.2的HTC Desire上。
不知道为什么会在Wifi连接时收到“重复”的意图,或者这两者之间有什么区别?