AppState
AppState
は、アプリがフォアグラウンドにあるかバックグラウンドにあるかを示し、状態が変化したときに通知することができます。
AppStateは、プッシュ通知を処理する際の意図と適切な動作を決定するためによく使用されます。
アプリの状態
active
- アプリがフォアグラウンドで実行中です。background
- アプリがバックグラウンドで実行中です。ユーザーは以下のいずれかの状態にあります。- 他のアプリを使用中
- ホーム画面にいる
- [Android] 別の
Activity
上にいる(たとえそれがあなたのアプリによって起動されたものであっても)
- [iOS]
inactive
- これは、フォアグラウンドとバックグラウンドの間を移行する際や、マルチタスクビューへの移行、通知センターの表示、または電話の着信といった非アクティブな期間に発生する状態です。
詳細については、Appleのドキュメントを参照してください。
基本的な使い方
現在の状態を確認するには、AppState.currentState
をチェックできます。これは常に最新の状態に保たれます。ただし、AppState
がブリッジ経由で状態を取得する間、起動時のcurrentState
はnullになります。
この例では、アプリがユーザーに見えるのはactive
状態のときだけであり、null状態は一瞬しか発生しないため、「現在の状態は: active」としか表示されないように見えます。このコードを試す場合は、埋め込みプレビューではなく、ご自身のデバイスを使用することをお勧めします。
リファレンス
イベント
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;