我有一個依賴於連接的應用程序它有很多Activities.I需要顯示一個進展重新連接對話框,每當連接關閉,並保持它直到連接回去或用戶關閉,無論運行的活動。我做了這個方法,截獲連接失敗事件在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();
}
}
現在的問題是,如果我有活動A開始活動B當我旋轉設備時,活動A的onCreate被調用,如果我試圖顯示對話框,它會拋出一個異常,它不是前臺活動。 任何想法如何處理這種情況?
這聽起來不錯,但旋轉設備時顯示對話框的問題呢? – 2012-01-11 12:53:04
對話框超過了所有視圖,因此在方向更改時不會更改。請閱讀您的文檔。 – JoxTraex 2012-01-11 12:53:51
由於後臺服務正在啓動一個對話框,因此它不需要一個活動,也不會受該活動方向的影響。 – JoxTraex 2012-01-11 12:54:49