0

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

据我了解,应用程序需要特殊权限RECEIVE_BOOT_COMPLETED才能在启动时执行某些操作(包括初始化应用程序本身),并且这些操作是通过BroadcastReceiver.

为了节省电池避免轮询wifi状态,我可以注册一个BroadcastReceiverConnectivityManager.CONNECTIVITY_ACTION查询wifi网络的名称。

是否可以在没有应用程序启动的情况下声明并触发CONNECTIVITY_ACTION侦听器或任何其他侦听器,就像使引导接收器无用一样?AndroidManifest.xml

4

1 回答 1

1

CONNECTIVITY_ACTIONAFAIK,您可以通过清单注册的接收器进行响应。有一些广播是您无法播放的(例如,ACTION_BATTERY_CHANGED)。这将消除您在启动时获得控制权的需要。

您可以根据首选项启用和禁用该接收器,因此在不需要时您无法控制。

于 2013-04-09T12:39:48.580 回答