AppState
AppState
可以告诉您应用是在前台还是后台运行,并在状态更改时通知您。
AppState 经常用于确定在处理推送通知时的意图和适当行为。
应用状态
active
- 应用在前台运行background
- 应用在后台运行。用户可能处于以下情况:- 在另一个应用中
- 在主屏幕上
- [Android] 在另一个
Activity
中(即使它是由您的应用启动的)
- [iOS]
inactive
- 这是在前台和后台之间转换时,以及在不活动期间(例如进入多任务视图、打开通知中心或来电时)发生的状态。
更多信息,请参阅 Apple 的文档
基本用法
要查看当前状态,您可以检查 AppState.currentState
,它将保持更新。但是,在启动时 currentState
将为 null,因为 AppState
需要通过桥接器检索它。
此示例将始终显示“当前状态为:active”,因为只有当应用处于 active
状态时,用户才可见该应用,并且 null 状态只会短暂发生。如果您想尝试该代码,我们建议使用您自己的设备而不是嵌入式预览。
参考
事件
change
当应用状态更改时,会收到此事件。监听器将使用当前应用状态值之一调用。
memoryWarning
此事件用于在需要抛出内存警告或释放内存时。
聚焦
Android
当应用获得焦点时接收(用户正在与应用交互)。
失焦
Android
当用户未积极与应用交互时接收。在用户下拉通知抽屉时很有用。AppState
不会更改,但会触发 blur
事件。
方法
addEventListener()
tsx
static addEventListener(
type: AppStateEvent,
listener: (state: AppStateStatus) => void,
): NativeEventSubscription;
设置一个函数,当 AppState 上发生指定的事件类型时将调用该函数。eventType
的有效值在上面列出。返回 EventSubscription
。
属性
currentState
tsx
static currentState: AppStateStatus;