首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可扩展服务的Android库模块

可扩展服务的Android库模块
EN

Stack Overflow用户
提问于 2015-07-16 20:22:09
回答 1查看 1.1K关注 0票数 3

我需要开发一个有服务组件的android库。所需服务如下:

  • 作为已启动的服务工作(总是启动)
  • 在需要时通过警报服务启动和重新启动(库中的另一项服务)
  • 从系统启动(BOOT_COMPLETED)开始
  • 提供一种订阅某些服务事件的方法(应该在服务上下文中执行,我的意思是在后台)

该服务的目的是为使用它的任何客户端(android应用程序)提供订阅某些应该在后台执行的事件的能力。扩展客户端即使在后台也应该接收通知的限制(即使客户端尚未启动),我可以将其视为服务的扩展(派生服务在客户端应用程序的Manifest上重新配置)。

实现我的目标最合适的方法是什么?基本服务应该如何与客户端扩展进行通信?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-16 20:43:34

因此,第一个客户端必须将此服务添加到他们的AndroidManifest.xml中。然后客户端将从库中调用一些方法,这些方法将根据您的需要启动您的服务或警报服务。

通信取决于您希望从服务发送到客户应用程序的数据。如果它只是一个通知,那么最好的方法就是使用一个BroadcastReceiver。如果您在AndroidManifest.xml中注册了一个接收器,即使应用程序没有启动,它也会接收意图。

如果希望在服务上发送大量对象或调用某些方法,则可以使用ServiceConnection和绑定器。

例如,即使客户机尚未启动,您也需要客户端从您的服务接收List<Model>。您可以在BroadcastReceiver中声明AndroidManifest.xml,这将根据其意图筛选器接收某些意图。然后通过ServiceConnection绑定到服务,并传递一个回调对象。之后,您将在服务中启动一个后台线程来加载数据。一旦完成,您将调用回调方法,您的客户端应用程序将接收数据。

我不知道我是否回答了你的问题,因为它有点抽象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31463832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档