AppState
AppState
可以告訴您應用程式是在前景還是在背景執行,並在狀態改變時通知您。
AppState 經常被用於在處理推播通知時,判斷意圖和適當的行為。
應用程式狀態
active
- 應用程式在前台執行background
- 應用程式在背景執行。使用者可能- 在另一個應用程式中
- 在主畫面
- [Android] 在另一個
Activity
中(即使它是由您的應用程式啟動的)
- [iOS]
inactive
- 這是一個在前景和背景之間轉換時,以及在非活動期間(例如進入多工處理視窗、打開通知中心或來電時)發生的狀態。
更多資訊,請參閱 Apple 的文件
基本用法
若要查看目前狀態,您可以查看 AppState.currentState
,它會保持更新。然而,currentState
在啟動時會是 null,因為 AppState
會透過 bridge 取得它。
這個範例只會顯示 "Current state is: active",因為應用程式只有在 active
狀態時對使用者可見,而 null 狀態只會短暫發生。如果您想實驗程式碼,我們建議您使用自己的裝置而不是嵌入式預覽。
參考
事件
change
當應用程式狀態改變時,會收到此事件。監聽器會被調用,並帶有一個 目前的應用程式狀態值。
memoryWarning
此事件用於在需要拋出記憶體警告或釋放記憶體時。
focus
Android
當應用程式獲得焦點時收到(使用者正在與應用程式互動)。
blur
Android
當使用者沒有積極地與應用程式互動時收到。在使用者下拉 通知抽屜 的情況下很有用。AppState
不會改變,但會觸發 blur
事件。
方法
addEventListener()
tsx
static addEventListener(
type: AppStateEvent,
listener: (state: AppStateStatus) => void,
): NativeEventSubscription;
設定一個函數,當 AppState 上指定的事件類型發生時,將會調用該函數。eventType
的有效值列於上方。返回 EventSubscription
。
屬性
currentState
tsx
static currentState: AppStateStatus;