繁体   English   中英

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

[英]Activities and services using handlers

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

谢谢

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

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

不要使用计时器!

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

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

以下页面详细描述了 broadcastReceiver class 和启动时的服务的工作。 http://www.androidenea.com/2009/09/starting-android-service-after-boot.html

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

对于消息传递部分,请参考此线程.. 该线程中给出的程序非常酷.. 程序员的荣誉...

示例:使用消息传递在 Activity 和 Service 之间进行通信

问候,--拉杰什

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM