ResultReceiver não sobrevive à rotação da tela
Estou implementando um cliente REST no Android. Eu vi um exemplo de usar umService
para realizar a conexão com o servidor eoResultReceiver
ser notificado da conclusão da operação. Estou chamando o serviço de um fragmento e, se eu tentar girar a tela enquanto o serviço estiver em execução, o método getActivity ()ResultReceiver
retorna null porque provavelmente esse fragmento não está mais no layout.
O método de retorno de chamada no fragmento:
@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);
}
}
}
ogetActivity()
retorna null. Isso é normal? Que abordagem eu poderia usar para permitir a notificação mesmo na rotação da tela? Transmissão Local?