簡體   English   中英

如何在Android中區分屏幕鎖定和主頁按鈕按下?

[英]How to differentiate between screen lock and home button press on in Android?

我想在屏幕熄滅並保持鎖定時保持當前活動狀態(但是,在第一種情況下,用戶不應按下主頁按鈕)。 當屏幕打開時,我想向用戶呈現相同的活動。 如果用戶按下主頁按鈕,我想開始另一個活動。

更新:當用戶按下主頁按鈕時,我想在用戶通過單擊其圖標重新啟動活動時啟動另一個活動

不是啟動器的應用程序無法捕獲主頁按鈕。 對於屏幕關閉和按下主頁按鈕,應用程序生命周期將是相同的,因此無法檢測到按下主頁按鈕。

你的問題並不是很清楚,但是如果你想在顯示不同的屏幕或者在用戶按下home后返回應用程序時“重置”屏幕,那么你應該設置noHistory標志。

這可以確保您的活動在用戶離開時完成,這正是按下主頁按鈕時的情況。

我不建議使用此標志只是為了在用戶按下主頁然后稍后返回時再次顯示歡迎屏幕。 問題是,按下主頁並不意味着用戶已經“完成”應用程序,只是由於某種原因出現了某些內容並從應用程序中切換出來。 在這種情況下,默認的Android行為是返回到用戶在啟動器中再次按下應用程序圖標時離開的位置。

相比之下,在Android中“退出應用程序”意味着應用程序的所有任務都已完成,例如按后退鍵。 在這種情況下,下次啟動應用程序時沒有任何東西可以返回,歡迎活動會再次顯示。

我建議您閱讀活動生命周期以及任務和后台在Android中的工作方式。

您可以做的是使用來檢測按下電源按鈕。然后相應地使用modify onResume()來區分應用程序最小化的兩種可能性。

編輯 :我似乎誤讀了你的用例和理解。但對於更高級的用戶和特定的用例,你問的是可能的

謝謝您的回答。 我使用onUserLeaveHint方法檢測到主頁按鈕按下事件。 功能如下:

@Override
    protected void onUserLeaveHint() {
        //code to exit.
    }

干杯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM