私はAndroidにRESTクライアントを実装しています。 Service
を使用してサーバーへの接続を実行し、操作の完了を通知するResultReceiver
の例を見てきました。私はフラグメントからサービスを呼び出していますが、サービスが実行されている間に画面を回転しようとすると、ResultReceiver
のgetActivity()メソッドは、おそらくそのフラグメントがもうレイアウトにないためにnullを返します。ResultReceiverは画面の回転に耐えられません
断片にコールバックメソッド
@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()
戻るヌル。 これは正常ですか?画面の回転でも通知を許可するためにどのようなアプローチを使用できますか?ローカルブロードキャスト?
答えをありがとう。実際には、私はそれを設定することはできませんので、レイアウトは風景モードでは異なるので、マニフェストでscreenOrientationを設定しない方がよいでしょう。 – Matroska