Android 处理IntentService回调的最佳方法是什么

Android 处理IntentService回调的最佳方法是什么,android,web-services,callback,Android,Web Services,Callback,我目前正在使用Android应用程序进行webservice调用。 调用和结果在IntentService中处理。 目前,我正在使用一个从ResultReceiver扩展而来的类(MyReceiver) public class ResultReceiverWS extends ResultReceiver { private Receiver mReceiver; public ResultReceiverWS(Handler handler) { super

我目前正在使用Android应用程序进行webservice调用。 调用和结果在IntentService中处理。 目前,我正在使用一个从ResultReceiver扩展而来的类(MyReceiver)

public class ResultReceiverWS extends ResultReceiver {
    private Receiver mReceiver;

    public ResultReceiverWS(Handler handler) {
        super(handler);
    }

    public void setReceiver(Receiver receiver) {
        mReceiver = receiver;
    }

    public interface Receiver {
        public void onReceiveResult(int resultCode, Bundle resultData);
    }

    @Override
    protected void onReceiveResult(int resultCode, Bundle resultData) {
        if (mReceiver != null) {
            mReceiver.onReceiveResult(resultCode, resultData);
        }
    }
}
我从实现MyReceiver.Receiver的活动中传递类的实例,如上面代码所示:

MyReceiver receiver = new MyReceiver (new Handler());
receiver.setReceiver(this);
Intent call = new Intent(getApplicationContext(), ClientWS.class);
call.putExtra(RECEIVER, receiver);
call.putExtra(ACTION, MYMETHOD);
startService(call);
问题是,接收器连接到活动线程,如果活动被终止、重新创建(通过旋转屏幕或其他方式),接收器指向无人区

所以,我的问题是如何处理这些案件。我考虑过广播接收机,但我不确定


欢迎在此提出任何建议。

使用
LocalBroadcastManager

或者,使用第三方事件总线,如或

或者,如果此Web服务调用的结果将仅由请求它的活动使用,请切换到由保留片段管理的
AsyncTask
,在这种情况下,您可以更自然地使用UI


或者,如果您需要让用户知道结果,即使您的UI不在前台,也可以使用。

非常感谢Commonware,我将尝试您的最后一个建议,如果我对此有任何疑问,请返回给您,否则我会将此问题设置为已解决@Bibu:您可以在以下位置找到该模式的示例实现: