簡體   English   中英

在 chromeos 上關閉 android 應用程序時保存 state

[英]Saving state when closing android app on chromeos

我們的 android 應用程序在通過 (Activity::OnSaveInstanceState) 殺死 state 之前保存它。 如果應用程序在被殺死之前重新接地,則效果很好。 (在明確關閉應用程序 android 之前必須這樣做)但是在 ChromeOS 上,android 應用程序可以在不將它們接地的情況下被殺死。

應用程序的右上角有一個“x”,它會關閉應用程序而不將其接地。

在 chromeos 上運行的 android 應用程序顯示關閉按鈕

如果應用程序以這種方式結束,OnSaveInstanceState 似乎不會運行(或者它沒有足夠的時間來完成?),因此應用程序 state 不會被保存。

問:是否有:

  1. 為 android 應用禁用/隱藏此“x”?
  2. 即使應用程序以這種方式結束,也要保存 state。

注意:Chrome 上的 android 應用程序也有“后退箭頭”(此屏幕截圖中未顯示 - 工具欄的左上角),它會關閉應用程序。 當應用程序以這種方式關閉時,State 按預期保存。

不要在 Activity::OnSaveInstanceState 中使用 Activity::OnPause 保存 state

在為 ChromeBook 從 Visual Studio 設置調試后,我確認在單擊“x”時調用Activity::OnSaveInstanceState (就像當一個 android 應用程序為背景時一樣,然后顯式關閉它

然而Activity::OnPauseActivity::OnDestroy被調用。

盡管它的名字和很多建議相反,但似乎將 state 保存在Activity::OnSaveInstanceState並不安全

將 state 保存到Activity::OnPause對我有用。

暫無
暫無

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

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