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

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;