我希望在连接特定的wifi网络时执行某些网络操作,即使自启动时间,也必须在没有用户输入的情况下自动完成。还有Preference
告诉我这些操作是否自动执行。
据我所知,应用程序需要名为RECEIVE_BOOT_COMPLETED
的特殊权限才能在引导时执行某些操作(包括初始化应用程序本身),并通过BroadcastReceiver
在代码中实现这些操作。
为了节省电池以避免轮询wifi状态,我可以为BroadcastReceiver
注册ConnectivityManager.CONNECTIVITY_ACTION
并查询它以获取wifi网络的名称。
CONNECTIVITY_ACTION
侦听器或任何其他侦听器是否可以从AndroidManifest.xml
声明并触发而无需启动应用程序,就像启动接收器无用一样?
答案 0 :(得分:1)
AFAIK,您可以通过清单注册的接收者回复CONNECTIVITY_ACTION
。有几个广播你不能(例如,ACTION_BATTERY_CHANGED
)。这样就无需在启动时获得控制权。
您可以enable and disable that receiver based on the preference,因此在不需要时无法获得控制权。