版本:0.84
AppState
AppState 可以告诉你应用当前是在前台还是后台,并在状态变化时通知你。
AppState 经常用于在处理推送通知时确定意图和正确的行为。
应用状态
active- 应用正在前台运行background- 应用正在后台运行。用户此时可能处于以下任一情况:- 在另一个应用中
- 在主屏幕上
- [Android] 位于另一个
Activity上,包括临时系统活动,例如自动填充凭据选择器(即使由你的应用或系统启动)
- [iOS]
inactive- 这是一个在前台与后台之间切换时出现的状态,以及在诸如进入多任务视图、打开通知中心或来电等不活跃期间出现的状态。
更多信息请参阅 Apple 的文档
基本用法
要查看当前状态,可以检查 AppState.currentState,它会保持最新。不过,在 AppState 通过桥接获取它时,currentState 在启动时会为 null。
这个示例看起来只会显示“当前状态是:active”,因为应用只有在 active 状态下才对用户可见,而 null 状态只会短暂出现。如果你想尝试这段代码,我们建议使用自己的设备而不是内嵌预览。
参考
事件
change
当应用状态发生变化时会收到此事件。监听器会接收到当前应用状态值之一。
memoryWarning iOS
当应用从操作系统收到内存警告时触发。
focus Android
当应用获得焦点时收到(用户正在与应用交互)。
blur Android
当用户没有主动与应用交互时收到。在用户下拉通知栏等情况下很有用。AppState 不会改变,但 blur 事件会被触发。
方法
addEventListener()
React TSX
static addEventListener(
type: AppStateEvent,
listener: (state: AppStateStatus) => void,
): NativeEventSubscription;
设置一个函数,当 AppState 上指定类型的事件发生时就会调用它。eventType 的有效值列在上方。返回 EventSubscription。
属性
currentState
React TSX
static currentState: AppStateStatus;