2011-11-21 35 views
0

我的主活動是一個密碼對話框(@android:style/Theme.Dialog)。成功驗證後,它將啓動應用程序頁面(也是一個Activity),並自行調用finish()。對我來說重要的是密碼對話框獨立啓動,不會浮在應用程序頁面的頂部。我的Android應用程序的密碼對話框

一切都很好,第一次。但是,當用戶通過按主頁離開應用程序,然後單擊「桌面」上的應用程序圖標返回時,密碼對話框不會再次啓動(因爲調用了onResume)。如果用戶按下後退按鈕離開應用程序,然後重新啓動應用程序,則會調用密碼對話框。

我想到的越多,我的解決方案越不優雅!我希望這裏有一個簡單的解決方案。在我寫這篇文章時,我嘗試了不在密碼對話框中調用finish()的選項,但這並沒有改變任何事情。

+0

爲什麼重要登錄對話框是獨立的,而不是浮動在應用程序的頂部? – Jack

+0

主應用程序頁面中的一些字段將是可見的,因爲浮動密碼對話框只佔用屏幕的一小部分。 – PVS

+0

啊,我看,模糊不足夠嗎? http://www.anddev.org/code-snippets-for-android-f33/blurring-dimming-background-windows-when-dialog-is-displayed-t10447.html – Jack

回答

2

在你的onResume()方法(當從一個「家」按鈕按下恢復時),撥打電話再次登錄。對不起,這樣簡短的答案,但這聽起來像是最合理的解決方案:)。

+0

謝謝你的迴應。從onResume調用登錄名/密碼對話框有兩個問題: - 對話框第一次出現兩次,令用戶感到困惑(是的,可以使用布爾值來避免這種情況) - 在後續時間,密碼對話框將顯示在應用程序主頁面上,並且一些可見的信息可能是保密的 – PVS

0

最後,我決定在onResume()中使用一個定時器。如果最後一次輸入密碼的時間超過30秒,那麼我再次顯示對話框。是的,我正在使用模糊(謝謝傑克!)。

相關問題