2014-09-23 69 views
1

我有一個愚蠢的問題。假設應用程序從停止狀態轉移到活動狀態(這與在BOOT_COMPLETED之後啓動應用程序並將應用程序移出停止狀態有關)。但是,然後該設備關閉,並有一個電池拉。當設備重新啓動時,處於活動狀態的應用程序仍處於該狀態?我的猜測是他們不會,但我想確認這一點(即國家沒有保存)。電池拉動後的應用狀態

如果電池沒有關閉而導致情況會有所不同 - 這是一致的,不是一個好的情況。

我在看的用例是,如果需要電池拉動來將系統從鎖定狀態移動 - 不是特定的Android設備,但它可能位於相同的電池供電位置。

我看了ACTION_BATTERY ...意圖,但沒有得到任何關於這個問題的見解。提前致謝。

回答

1

應用程序狀態永遠不會在重新啓動時保存。要保存數據,您必須將它們保存到數據庫或其他方式。

+0

Tnx。進一步看來,很多帖子似乎都使用重新啓動和交替啓動。最初的任務是在啓動完成後啓動應用程序。有很多關於這方面的信息,在Android 3.0之後,應用程序必須在停止狀態下才能收到BOOT_COMPLETED事件。所以看起來這是唯一可能的時機,當處理器重新啓動時,由於應用程序無法恢復到停止狀態,因此未關閉設備。這似乎將這限制在異常導致重新啓動的情況下。它是否正確? – JimCzek 2014-09-23 21:08:13

+0

原來,關於應用程序是否已停止的信息駐留在文件packages-stopped.xml中。我在查看包管理器時發現了這一點。 – JimCzek 2014-09-24 19:28:00

1

如果您拉出電池,則必須重新啓動設備,並且您的所有生命週期都將相應地運行。