我需要开发一个有服务组件的android库。所需服务如下:
该服务的目的是为使用它的任何客户端(android应用程序)提供订阅某些应该在后台执行的事件的能力。扩展客户端即使在后台也应该接收通知的限制(即使客户端尚未启动),我可以将其视为服务的扩展(派生服务在客户端应用程序的Manifest上重新配置)。
实现我的目标最合适的方法是什么?基本服务应该如何与客户端扩展进行通信?
发布于 2015-07-16 20:43:34
因此,第一个客户端必须将此服务添加到他们的AndroidManifest.xml中。然后客户端将从库中调用一些方法,这些方法将根据您的需要启动您的服务或警报服务。
通信取决于您希望从服务发送到客户应用程序的数据。如果它只是一个通知,那么最好的方法就是使用一个BroadcastReceiver。如果您在AndroidManifest.xml中注册了一个接收器,即使应用程序没有启动,它也会接收意图。
如果希望在服务上发送大量对象或调用某些方法,则可以使用ServiceConnection和绑定器。
例如,即使客户机尚未启动,您也需要客户端从您的服务接收List<Model>。您可以在BroadcastReceiver中声明AndroidManifest.xml,这将根据其意图筛选器接收某些意图。然后通过ServiceConnection绑定到服务,并传递一个回调对象。之后,您将在服务中启动一个后台线程来加载数据。一旦完成,您将调用回调方法,您的客户端应用程序将接收数据。
我不知道我是否回答了你的问题,因为它有点抽象。
https://stackoverflow.com/questions/31463832
复制相似问题