Activity.OnWindowFocusChanged(Boolean) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當活動的目前 Window
取得或失去焦點時呼叫。
[Android.Runtime.Register("onWindowFocusChanged", "(Z)V", "GetOnWindowFocusChanged_ZHandler")]
public virtual void OnWindowFocusChanged (bool hasFocus);
[<Android.Runtime.Register("onWindowFocusChanged", "(Z)V", "GetOnWindowFocusChanged_ZHandler")>]
abstract member OnWindowFocusChanged : bool -> unit
override this.OnWindowFocusChanged : bool -> unit
參數
- hasFocus
- Boolean
此活動的視窗是否具有焦點。
實作
- 屬性
備註
當活動的目前 Window
取得或失去焦點時呼叫。 這是此活動是否為使用者主動互動的實體的最佳指標。 預設實作會清除金鑰追蹤狀態,因此應該一律呼叫。
請注意,這會提供全域焦點狀態的相關資訊,這與活動生命週期無關。 因此,雖然焦點變更通常與生命週期變更有一些關聯, (停止的活動通常不會取得視窗焦點) ,但您不應該依賴此處回呼與其他生命週期方法中任何特定順序,例如 #onResume
。
不過,一般規則是前景活動會有視窗焦點...除非它已顯示其他接受輸入焦點的對話方塊或快顯視窗,在此情況下,活動本身在其他視窗擁有它時不會有焦點。 同樣地,系統可能會顯示系統層級視窗 (,例如狀態列通知面板或系統警示) ,這會暫時取得視窗輸入焦點,而不會暫停前景活動。
android.os.Build.VERSION_CODES#Q
從 開始,在多視窗模式中可以同時有多個繼續的活動,因此即使上述沒有重迭,繼續狀態也不會保證視窗焦點。
如果意圖是知道活動是最上層作用中的活動,則應該使用使用者與所有活動互動的最後一個活動,但不包括對話方塊和快顯視窗等非使用中視窗。 #onTopResumedActivityChanged(boolean)
在 之前 android.os.Build.VERSION_CODES#Q
的平臺版本上, #onResume
是最佳指標。
的 android.app.Activity.onWindowFocusChanged(boolean)
JAVA 檔。
此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據中所述的詞彙使用。