我有一個應用程序(擴展),它在後臺運行一些服務來監視信標。檢查你是否在範圍內,然後執行一些操作。使用密碼保護應用程序
我的應用程序中只有一個活動,那就是設置活動。該服務在啓動後自動啓動,並無限期地運行。當某人嘗試打開該應用程序時,除非提供了正確的密碼,否則不應使用SettingsActivity。
所以在onPause()和onResume()我想啓動一個對話框,要求輸入密碼。當輸入一個正確的密碼(Retrofit檢查這個並返回一個布爾值)時,他被允許進入SettingsActivity。
問題:如何讓我的活動不可見onPause()以及如何在正確密碼(onResume()中的啓動對話框)後再次使其可見。
我可以想到一個解決方案,那就是將另一個視圖添加到我的settings_view.xml中,讓它填充父項並在正確的密碼和VISIBILITY.VISIBLE @ onPause()後設置VISIBILITY.GONE。 我想在onPause()中做到這一點,因爲那時人們在進入最近的應用程序屏幕時無法「看見」任何東西。但這似乎是一個非常草率的解決方案。
是否有反正我可以在onPause()中對佈局進行遮光/着色並在輸入正確的密碼後刪除遮擋/着色?
謝謝你的建議:)
我通過在我的SettingsActivity(這是我唯一的活動)中包含一個佈局來實現它,然後在onResume中將其設置爲可見。當輸入正確的密碼(由服務器確認)時,它將被設置爲消失,實際佈局設置爲可見。 爲了避免截圖和看到最近的應用程序中的任何東西,我使用了「getWindow()。addFlags(WindowManager.LayoutParams.FLAG_SECURE);」 – Sverg
@Sverg如果您已經解決了該問題,請將問題標記爲已回答。如果你所做的是顯着不同的,那麼你自己發佈一個答案,併發布代碼示例,以便新用戶可以檢查你做了什麼並瞭解它。通過點擊左上方的「v」符號來檢查任何答案,在上/下箭頭下方 – Bonatti