メインコンテンツへスキップ

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イベントが発行されます。

Methods

addEventListener()

tsx
static addEventListener(
type: AppStateEvent,
listener: (state: AppStateStatus) => void,
): NativeEventSubscription;

AppStateで指定されたイベントタイプが発生するたびに呼び出される関数を設定します。eventTypeの有効な値は上記に記載されています。EventSubscriptionを返します。

プロパティ

currentState

tsx
static currentState: AppStateStatus;