[英]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.