Java 有什么好方法可以让运行的后台时刻关注网络连接?
我的应用程序具有某些功能,这些功能仅在存在网络连接时激活。我已经准备好了检查连接的代码,但我不确定应该如何进行持续检查 我想每2-3秒在后台检查一次活动连接 …检查连接 …等几秒钟 …检查连接 …等几秒钟 …检查连接 …等几秒钟 …等等 我最初把它放在IntentService的一个循环中,但我听说你不应该在IntentService中运行无休止的循环,因为它们最终会被终止。然后读一读,使用一个闹钟可能是好的,但是从其他人那里听到警报,将警报限制在每分钟一次左右,否则会导致电池耗尽Java 有什么好方法可以让运行的后台时刻关注网络连接?,java,android,android-service,Java,Android,Android Service,我的应用程序具有某些功能,这些功能仅在存在网络连接时激活。我已经准备好了检查连接的代码,但我不确定应该如何进行持续检查 我想每2-3秒在后台检查一次活动连接 …检查连接 …等几秒钟 …检查连接 …等几秒钟 …检查连接 …等几秒钟 …等等 我最初把它放在IntentService的一个循环中,但我听说你不应该在IntentService中运行无休止的循环,因为它们最终会被终止。然后读一读,使用一个闹钟可能是好的,但是从其他人那里听到警报,将警报限制在每分钟一次左右,否则会导致电池耗尽 有什么好方法
有什么好方法可以实现这一点?BroadcastReceiver不使用电源,可以监控android操作系统的许多方面,包括连接。您可以在应用程序清单中构建一个或使用代码构建一个
<receiver
android:name="com.gosyvlester.bestrides.ReceiverWifi"
android:enabled="false" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
这似乎是个坏主意。当用户尝试使用需要网络的功能时,为什么不检查网络连接呢。但是,如果你需要它,根据你的能力,“否则它会导致电池耗尽”这是你的问题,在后台不断地轮询可能会耗尽你的电池。您是否只听过系统广播的连接更改?是的,经过更多的研究,我发现这个功能是内置的。谢谢