android intent 回调上级方法,在Android的IntentService中等待异步回调

我有一个IntentService在另一个类中启动异步任务,然后应该等待结果。

问题是方法IntentService将在onHandleIntent(...)方法运行完成后立即完成,对吗?

这意味着,通常,IntentService在启动异步任务后,它将立即关闭,并且不再在那里接收结果。

public class MyIntentService extends IntentService implements MyCallback {

public MyIntentService() {

super("MyIntentService");

}

@Override

protected final void onHandleIntent(Intent intent) {

MyOtherClass.runAsynchronousTask(this);

}

}

public interface MyCallback {

public void onReceiveResults(Object object);

}

public class MyOtherClass {

public void runAsynchronousTask(MyCallback callback) {

new Thread() {

public void run() {

// do some long-running work

callback.onReceiveResults(...);

}

}.start();

}

}

如何使以上代码段正常工作?开始任务后,我已经尝试放入Thread.sleep(15000)(任意持续时间)onHandleIntent(...)。似乎可以正常工作。

但这绝对不是一个干净的解决方案。也许甚至有一些严重的问题。

有更好的解决方案吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值