使用处理程序的活动和服务

时间:2011-04-28 11:21:15

标签: android service android-activity handler

您好 我正在尝试在应用程序中使用多个服务,我希望在从其中一个服务获取更改的值之后的一段时间后重新运行服务。 请指导我使用处理程序/计时器/广播接收器实现这一点。

由于

2 个答案:

答案 0 :(得分:1)

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

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

不要使用计时器!

这样做的好处是,当活动未激活时,这一切都有效。

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

答案 1 :(得分:0)

以下页面详细介绍了在启动时处理broadcastReceiver类和服务的过程。 http://www.androidenea.com/2009/09/starting-android-service-after-boot.html

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

并且对于消息传递部分,请参考这个帖子..这个帖子中给出的程序非常酷..给程序员一个... ...

Example: Communication between Activity and Service using Messaging

此致  --Rajesh