我是 Android 开发的新手,我对服务到活动的通信感到困惑。我需要监听一个套接字,当收到一个数据包时,更新 Activity 中的某些内容。我打算用服务监听套接字,并想在收到东西时告诉活动。
现在我只希望我的服务每 5 秒向我的 Activity 发送一条消息。当 Activity 收到消息时,它会将其打印到 TextView。
我看过(绑定服务),但这似乎只是一种方式:服务中的活动调用方法。我需要广播吗?他们不是为了处理通信吗?
谁能指出我正确的方向?谢谢。
我是 Android 开发的新手,我对服务到活动的通信感到困惑。我需要监听一个套接字,当收到一个数据包时,更新 Activity 中的某些内容。我打算用服务监听套接字,并想在收到东西时告诉活动。
现在我只希望我的服务每 5 秒向我的 Activity 发送一条消息。当 Activity 收到消息时,它会将其打印到 TextView。
我看过(绑定服务),但这似乎只是一种方式:服务中的活动调用方法。我需要广播吗?他们不是为了处理通信吗?
谁能指出我正确的方向?谢谢。
使用回调。
服务接口.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);
}
服务回调.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 的 Android网站的链接,其中包含更多代码。