簡體   English   中英

反應本機 AppState“更改”事件未由 Android 12 任務管理器觸發

[英]React native AppState "change" event not triggered by Android 12 Task Manager

我們的 react-native 0.66 Android 應用程序有一個 AppState change處理程序,當應用程序進入后台/前台時調用它...

import {AppState} from 'react-native';

...

this.changeUnsubscribe = AppState.addEventListener('change', this.handleChange)

...

handleChange(nextAppState) { console.log(`App state changed to: ${nextAppState}`) }

在 Android 10 上完美運行。但是在 Android 12 上,當用戶調出任務管理器時,更改事件沒有發生。

相反,當您在任務管理器中向上滑動應用程序(關閉應用程序)時,事件就會發生。

不幸的是,這導致了一個問題:似乎 Android 12 限制了您在應用程序關閉時可以執行的活動量。 當應用程序進入后台時,我們試圖保存用戶數據,但它並不總是在管理它。 在 Android 12 之前,我們的應用程序管理得很好。

我在 react-native 或 Android 文檔中找不到任何關於此新行為的提及。 有什么提示嗎?

回答我自己的問題,希望它能幫助別人:

對於 react-native v0.66 on Android 12(其他版本可能是這樣):系統任務管理器不再觸發 AppState change事件。

它現在觸發 AppState blur事件。 返回應用程序會觸發focus事件。 當任務管理器處於前台時,AppState currentState將繼續active

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM