2011-04-28 35 views
0

嗨 我想在应用程序中使用多个服务,我希望在从某个服务中获取更改的值之后的一段时间后重新运行服务。 请指导我使用处理程序/定时器/广播接收器来实现这一点。使用处理程序的活动和服务

感谢

回答

0

以下页面介绍给你详细的一个BroadcastReceiver类的工作,并在启动时服务。 http://www.androidenea.com/2009/09/starting-android-service-after-boot.html

它也实现了定时器的功能...但请注意,该方法中的定时器非常快,并使您的模拟器无响应...或缓慢。

和消息传递部分请参考此线程..在这个线程给出的方案是超酷..工藤给程序员...

Example: Communication between Activity and Service using Messaging

问候, --Rajesh

1

您应该使用发送待处理意图的AlarmManager。您可以使用多个意图和广播接收者。在广播接收者中,您可以开始一项服务。这样,您可以在不同的时间启动多个服务,或者在需要时一起启动。

您可以使用Alarmmanager发送重复警报,或者您可以在其中一项服务中使用它,并为您的待定意图设置新的时间。

不要使用计时器!

这样做的好处是,这一切都适用于活动不活跃时。

您可以如示例中所示绑定到服务,但是如果要将数据从服务传递到活动,则只需使用应用程序对象或单例。另外我会使用一个IntentService,它自动完成主线程的工作。如果你想在一个不同的线程上做些什么,这个线程应该和Activity更紧密地交互,那么我会使用AsyncTask或Thread。

相关问题