2017-05-04 74 views
0

我完全与有界服务混淆。我的问题是: - 绑定的含义是什么? Binder课程是做什么的?从服务返回iBinder对象意味着什么?什么是IBinder对象?什么是onBind方法的工作? 这些是关于有界服务的几个问题。 请详细解释一下。我已经阅读过文件。现在还不清楚。 谢谢,谢谢,在此先感谢...Binder类是做什么的?绑定的含义是什么?在Android绑定服务?

回答

0

绑定的服务:

一个绑定服务是一个允许应用程序组件绑定到它通过调用bindService()来创建一个长期的连接。

当您想要通过应用程序中的活动和其他组件与服务交互或通过进程间通信(IPC)向其他应用程序公开某些应用程序的功能时,创建绑定服务。

要创建绑定服务,请实现onBind()回调方法以返回定义与服务通信的接口的IBinder。然后其他应用程序组件可以调用bindService()来检索接口并开始调用服务上的方法。该服务仅用于为绑定到它的应用程序组件提供服务,因此当没有绑定到服务的组件时,系统会销毁它。您不必像使用onStartCommand()启动服务时一样停止绑定服务。

的IBinder:

要创建一个绑定的服务,你必须定义,指定客户端如何与服务通信的接口。服务和客户端之间的接口必须是IBinder的实现,并且是您的服务必须从onBind()回调方法返回的内容。客户端收到IBinder后,可以通过该接口开始与服务交互。

onBind():

该系统通过调用bindService调用此方法时另一个组件想与该服务绑定(如执行RPC)()。在实现此方法时,您必须提供一个客户端用于通过返回IBinder与服务进行通信的接口。您必须始终执行此方法;然而,如果你不想允许绑定,你应该返回null。