很抱歉再次烦你,但我仍然找不到从我的活动到服务回调的方法......
发现了一个类似的问题 - 如何在Android中定义回调?
// The callback interface
interface MyCallback {
void callbackCall();
}
// The class that takes the callback
class Worker {
MyCallback callback;
void onEvent() {
callback.callbackCall();
}
}
// Option 1:
class Callback implements MyCallback {
void callback() {
// callback code goes here
}
}
worker.callback = new Callback();
Run Code Online (Sandbox Code Playgroud)
但不确定如何将该样本集成到我的项目中.
任何建议或链接清除教程都会很棒!
Cri*_*ian 10
您在示例中显示的那种回调(观察者模式)在服务和活动之间不起作用.当从A类创建 B类实例并希望将回调从B发送到A 时,使用观察者模式.
在服务和活动方面,情况完全不同.AFAICT,如果你想Activity从a 回调你Service,实现这个的最好方法是使用ResultReceiver.有很多有趣的事情ResultReceiver:
Handler(您必须在活动内部创建),这将允许您从服务更改UI.Parcelable你可以ResultReceiver在Intent你用来启动服务的额外内容中引用你的引用.onReceive方法有一个结果代码整数,允许你生成不同类型的回调(这就像你的回调接口有很多方法).此外,它还会收到一个Bundle可用于放置所有结果数据的内容.另一方面,如果你想做一个回调(在这种情况下不确定这是否是正确的术语),从你Activity到你的Service,我想你将不得不发送一个广播消息或类似的东西.
| 归档时间: |
|
| 查看次数: |
5347 次 |
| 最近记录: |