您需要一种方法来通知您的前台Activity 操作已完成,您可以通过注册一个监听器来做到这一点,因为您没有发布任何代码,我将做出假设。
有两种方法可以通知我知道的前台 Activity,第一种方法是使用广播意图,这里有一个与它们有关的问题Android BroadcastReceiver 中的 Activity。您可以从后台操作中触发广播意图并将您的活动注册为接收器。
见这里http://developer.android.com/reference/android/content/Context.html#sendOrderedBroadcast%28android.content.Intent,%20java.lang.String,%20android.content.BroadcastReceiver,%20android.os.Handler ,%20int,%20java.lang.String,%20android.os.Bundle%29和这里
http://developer.android.com/reference/android/content/BroadcastReceiver.html
第二种方法是向您的类注册一个执行后台操作的侦听器,例如(伪代码)
@Override
protected void onResume() {
BackgroundOperator.registerListener(this);
}
@Override
protected void onPause() {
BackgroundOperator.unregisterListener(this);
}
public void onOperationComplete(...) {
// TODO: Show your dialog here
}
您的侦听器可能是这样的(您的 Activity 可以实现):
interface BackgroundOperatorListener {
void onOperationComplete(...);
}
这里的想法是您的前台活动将是当前注册的侦听器,因此它将是 onOperationComplete(...) 回调的接收者,然后您可以显示您的对话框,... 可以是要传递的任意数量的参数操作完成后到您的活动。