监控自Android启动时间以来的wifi状态变化

时间:2013-04-09 12:32:08

标签: android broadcastreceiver android-wifi wifimanager

我希望在连接特定的wifi网络时执行某些网络操作,即使自启动时间,也必须在没有用户输入的情况下自动完成。还有Preference告诉我这些操作是否自动执行。

据我所知,应用程序需要名为RECEIVE_BOOT_COMPLETED的特殊权限才能在引导时执行某些操作(包括初始化应用程序本身),并通过BroadcastReceiver在代码中实现这些操作。

为了节省电池以避免轮询wifi状态,我可以为BroadcastReceiver注册ConnectivityManager.CONNECTIVITY_ACTION并查询它以获取wifi网络的名称。

CONNECTIVITY_ACTION侦听器或任何其他侦听器是否可以从AndroidManifest.xml声明并触发而无需启动应用程序,就像启动接收器无用一样?

1 个答案:

答案 0 :(得分:1)

AFAIK,您可以通过清单注册的接收者回复CONNECTIVITY_ACTION。有几个广播你不能(例如,ACTION_BATTERY_CHANGED)。这样就无需在启动时获得控制权。

您可以enable and disable that receiver based on the preference,因此在不需要时无法获得控制权。