LocEngAdapter类是一个辅助类,用于与LocService连接和通信。sendMsg()函数是用于向LocService发送消息的方法。该函数会将消息放入到mPendingMsgs队列中,并通知LocService有未处理的消息。
以下是sendMsg()函数的代码示例:
public void sendMsg(int msg, Bundle data) {
synchronized (mPendingMsgs) {
mPendingMsgs.add(new Pair(msg, data));
mPendingMsgs.notify();
}
}
该函数接受两个参数,一个int类型的msg表示消息的类型,一个Bundle类型的data表示消息的数据。
函数将这些参数封装成一个Pair对象并添加到mPendingMsgs队列中。然后使用notify()方法通知LocService有新的消息。
这个函数可以在LocEngAdapter类中的其他方法中调用,例如:
public void setCallbacks(ILocEngAdapterCallbacks callback) {
mCallbacks = callback;
sendMsg(MSG_REGISTER_CALLBACK, null);
}
此代码片段使用sendMsg()函数将MSG_REGISTER_CALLBACK消息发送到LocService。
在这种情况下,LocService将调用ILocEngAdapterCallbacks接口的registerCallback()方法。
总之,sendMsg()函数是LocEngAdapter类与LocService通信的重要机制,使用这个函数可以向LocService发送多种类型的消息。