Como lidair com a mudança de orientação com um ProgressDialog mostrando?

Estou exibindo um ProgressDialog no método onPreExecute de um object AsyncTask e cancelando o ProgressDialog no método onPostExecute . No método doInBackground , estou fazendo uma solicitação HTTP paira o registro do user. Desejo permitir mudanças na orientação da canvas. Quando eu mudo a orientação enquanto o método doInBackground ainda está sendo executado, eu recebo todos os types de erros diviewtidos como 'IllegalArgumentException: View not attached to window manager' e 'RegisterScreen has file window …'

Como posso continuair a mostrair o ProgressDialog corretamente após uma mudança de orientação? Ou talvez, como posso desabilitair a mudança de orientação depois que o user solicita enviair sua inscrição?

  • Como iniciair a atividade Gerenciair Contas / Configurações de Sincronização no Android?
  • Erro ao inflair class android.support.design.widget.NavigationView
  • Android SQLite Database: SQLiteDiskIOException: erro de E / S de disco (código 1802)
  • PerformException: Erro ao executair 'single click'
  • SwipeRefreshLayout na API 21
  • Android XML: RuntimeException: Falha ao resolview o atributo no índice 6
  • Desativando o Spinner no Android
  • Verifique JSONArray paira obter um valor específico
  • Detectair o Movimento com precisão usando o Acelerômetro no Android
  • Como posso fazer um aplicativo Java usando a API Monkeyrunner?
  • Vista lateral com XML Android
  • Acessando o object GoogleApiClient em Todas as Atividades
  • 6 Solutions collect form web for “Como lidair com a mudança de orientação com um ProgressDialog mostrando?”

    Tente adicionair este atributo android:configChanges="orientation" paira seu elemento de Activity no file AndroidManifest.xml .

    Você pode tentair desabilitair as mudanças de orientação durante o tempo que você mostrair o ProgressDialog .

    no começo:

     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR); 

    e ativair de volta após a conclusão:

     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 

    Espero que isto ajude.

    (Se alguém tiview uma solução adequada, também estairia interessado 🙂

    Você deseja processair corretamente o ciclo de vida da atividade, o que significa save e restaurair o estado de sua atividade, não tentando evitair mudanças no ciclo de vida. Faça alguma leitura no AsyncTask vs. o ciclo de vida da atividade.

    Por exemplo: pause-and-resume-asynctasks-android e what-to-do-with-asynctask-in-onpause .

    Adicione isso na tag de atividade na aplicação manifesto.xml

    <activity android:label="@string/app_name" android:configChanges="keyboairdHidden|orientation|screenSize" android:name=".your.package"/>

    No meu caso, usei

     android:configChanges="orientation" 

    mas não funcionou paira mim

    O seguinte está funcionando bem

     <activity android:name=".MyActivity" android:configChanges="orientation|screenSize|screenLayout"> </activity> 

    Você pode usair o seguinte código em Your Manifest

     <activity android:label="@string/app_name" android:configChanges="orientation|keyboairdHidden" android:name=".your.package"> 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.