Android 在安卓系统中,我如何与来自本地服务的活动对话?

Android 在安卓系统中,我如何与来自本地服务的活动对话?,android,android-service,android-broadcast,Android,Android Service,Android Broadcast,我是Android开发的新手,对服务到活动的沟通感到困惑。我需要监听套接字,当收到数据包时,更新活动中的内容。我正计划通过服务收听套接字,并希望在收到内容时告知活动 现在,我只希望我的服务每5秒向我的活动发送一条消息。当活动收到消息时,它会将其打印到文本视图 我已经看过()了,但这似乎只是一种方式:活动调用服务中的方法。我需要广播吗?它们不是用于过程间通信吗 谁能给我指出正确的方向吗?谢谢。使用回拨 ServiceInterface.aidl: package com.test.service;

我是Android开发的新手,对服务到活动的沟通感到困惑。我需要监听套接字,当收到数据包时,更新活动中的内容。我正计划通过服务收听套接字,并希望在收到内容时告知活动

现在,我只希望我的服务每5秒向我的活动发送一条消息。当活动收到消息时,它会将其打印到文本视图

我已经看过()了,但这似乎只是一种方式:活动调用服务中的方法。我需要广播吗?它们不是用于过程间通信吗

谁能给我指出正确的方向吗?谢谢。

使用回拨

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);
}

找到了一个指向网站的链接,其中包含更多代码。

尝试使用
处理程序
将消息发送回您的活动。这很有效:很高兴您找到了答案。广播是正确的方法,但是你应该考虑使用LoopAlxBaseMistar来保持你的应用程序中的通信:LoopAlxBaseMalkest.GeTebug(上下文).sEndRead(意向);