我正在为Android制作一个IM客户端,我想知道如何在服务和活动之间进行通信。
我有一个服务,它建立与gtalk的连接,获取联系人,侦听传入的消息......,我有活动,即我的应用程序的UI。
在活动中,我创建服务并将活动绑定到它。我有一个aidl接口,可以使用以下方法在服务和活动之间进行通信:
String[] getContacts();
String[] getPressence();
int setConnection(int type);
void logOut();
到目前为止,我可以建立与gtalk的连接,我可以获取联系人和状态,但现在我想在活动中执行一项功能,该功能在服务获取消息并更新UI时进行侦听。
为此我用metod void receivedMessage(String message);
制作了另一个aidl文件
每当服务收到消息时,我调用该方法,在活动中我显示消息String中传递的消息,我得到一个NullPointer异常。
我是否必须在处理程序或某些同步或异步方法中获取消息?我是android的初学者,现在我学习服务部分所以请帮助我。
非常感谢!
答案 0 :(得分:0)
我解决了这个问题,我只需要从活动中引用监听器,以便服务使用监听器。