我正在 Android 中实现一个 REST 客户端。我已经看到了一个使用 aService
执行与服务器的连接并ResultReceiver
通知操作完成的示例。我正在从片段调用服务,如果我在服务运行时尝试旋转屏幕,getActivity() 方法会ResultReceiver
返回 null,因为该片段可能不再处于布局中。
片段中的回调方法:
@Override
public void onReceiveResult(int resultCode, Bundle resultData) {
Response response = (Response) resultData
.getSerializable(RestService.RESULT);
if (resultCode == RestService.SUCCESS
&& response != null) {
if (getActivity() != null) {
recommendationResponse = response;
getLoaderManager().restartLoader(0, new Bundle(),
Fragment.this);
}
}
}
getActivity()
返回空值。这是正常的吗?即使在屏幕旋转时,我可以使用什么方法来允许通知?本地广播?