У меня есть приложение, которое зависит от подключения. Оно имеет много действий. Мне нужно отобразить диалог повторного подключения прогресса, когда соединение идет вниз и удерживать его до тех пор, пока соединение не вернется или пользователь не уйдет, независимо от текущей активности. Я сделал этот метод, перехватывать событие сбоя соединения В BaseActivity, который является родителем все моей деятельности:Сохранение диалога над действиями
public void xmppConnectionClosed() {
connectionError = true;
onScreenActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
initiateReconnectionDialog(onScreenActivity); //onScreenActivity is singlton represent the current activity
reconnectionDialog.setMessage(onScreenActivity
.getString(R.string.reconnectionDialogReconnecting));
reconnectionDialog
.setStatus(ReconnectionStatus.RECONNECTING);
// setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
reconnectionDialog.show();
}
});
}
Его OnCreate
protected void onCreate(android.os.Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (connectionError) {
initiateReconnectionDialog(this);
reconnectionDialog.show();
}
}
Сейчас вопрос в том, что если у меня есть задание А начать активность B, когда я поворачиваю устройство, вызывается onCreate активности A, и если я попытаюсь показать диалоговое окно, оно выдает исключение, которое не является активностью переднего плана. Любые идеи, как справиться с этой ситуацией?
Этот звук хорош, но как насчет проблемы с отображением диалогового окна при повороте устройства. –
Диалог превосходит все виды и как таковой НЕ будет изменен при изменении ориентации. Прочтите свою документацию. – JoxTraex
Поскольку фоновое обслуживание запускает диалог, оно не требует активности и не влияет на ориентацию этого действия. – JoxTraex