如何与Android中的本地服务中的活动对话?

时间:2013-04-18 12:53:20

标签: android android-service android-broadcast

我是Android开发的新手,我对Service to Activity通信感到困惑。我需要监听套接字,当收到数据包时,请更新Activity中的内容。我打算用服务监听套接字,并希望在收到内容时告诉活动。

现在我只想让我的服务每隔5秒向我的活动发送一条消息。当Activity收到消息时,它会将其打印到TextView。

我看过(Bound Services),但这似乎只是一种方式:一个Activity调用服务中的方法。我需要广播吗?它们不是用于处理通信的过程吗?

有人能指出我正确的方向吗?感谢。

1 个答案:

答案 0 :(得分:0)

使用回调。

ServiceInterface.aidl:

package com.test.service;
import com.test.service.ServiceCallback;
interface ServiceInterface {

    /**
     * Register callback for information from service.
     */
    void registerCallback(ServiceCallback cb);

    /**
     * Remove a previously registered callback interface.
     */
    void unregisterCallback(ServiceCallback cb);
}

ServiceCallback.aidl

package com.test.service;

/**
 * Callback interface used by IRemoteService to send
 * synchronous notifications back to its clients.  Note that this is a
 * one-way interface so the server does not block waiting for the client.
 */
oneway interface ServiceCallback {
    /**
     * Your callback function
     */
    void onCallback(int data);
}

找到Malachi's Android网站的链接,解释更多代码。