说明:
Messenger内部封装了AIDL,创建时需要传入一个Handler对象,重写handleMessage接收另一进程发过来的消息。创建Messenger时会调用Handler的getIMessenger()方法获取IMessenger接口的Stub实现(MessengerImpl类),MessengerImpl内部实现了send方法,当另一进程调用messenger.send时会触发此方法,并调用Handler的sendMessage方法将消息发送消息队列(MessageQueue)中,loop方法会遍历MessageQueue,取出Message并调用Message方法,判断msg.callback == null后会回调我们实现的handleMessage方法,接收另一进程发过来的消息。
代码实现:
A应用Service实现:
public class PaymentService extends Service {
@Override
public