当连接到特定的wifi网络时,我想要执行特定的网络操作,而且这必须在没有用户输入的情况下自动完成,即使在启动时也是如此。还有一个Preference可以告诉我这些操作是否是自动执行的。
据我所知,应用程序需要名为RECEIVE_BOOT_COMPLETED的特殊权限才能在启动时执行某些操作(包括初始化应用程序本身),这些操作是通过BroadcastReceiver在代码中实现的。
为了节省电池,避免对wifi状态进行轮询,我可以为BroadcastReceiver注册一个ConnectivityManager.CONNECTIVITY_ACTION,并查询它的wifi网络的名称。
CONNECTIVITY_ACTION侦听器或任何其他侦听器是否可以从AndroidManifest.xml中声明,并在没有应用程序启动的情况下触发,就像使引导接收器无用一样?
发布于 2013-04-09 12:39:48
AFAIK,您可以通过一个清单注册接收器响应CONNECTIVITY_ACTION .有几个广播你不能(例如,ACTION_BATTERY_CHANGED)。这将消除您在启动时获得控制的需要。
您可以使用enable and disable that receiver based on the preference,这样在不需要时就无法获得控制。
https://stackoverflow.com/questions/15901992
复制相似问题