Android で REST クライアントを実装しています。Service
を使用してサーバーへの接続を実行しResultReceiver
、操作の完了を通知する例を見てきました。フラグメントからサービスを呼び出しています。サービスの実行中に画面を回転しようとすると、ResultReceiver
おそらくそのフラグメントがレイアウトにないため、 getActivity() メソッドが 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()
null を返します。これは正常ですか?画面の回転でも通知を許可するには、どのようなアプローチを使用できますか? ローカル放送?