服务和活动沟通

时间:2010-09-20 10:31:17

标签: android service android-activity communication

我正在为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的初学者,现在我学习服务部分所以请帮助我。

非常感谢!

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,我只需要从活动中引用监听器,以便服务使用监听器。