我為我的家創建了一個門鈴系統(服務器、客戶端),它通過 MQTT 發布/訂閱作業,以了解何時有人按門鈴。它作業得很好,但是在我的客戶端中,MQTT 連接不斷關閉,即使在設定_client->setAutoKeepAlive(true).
此外,我想知道是否有人可以給我一個關于如何設定應用程式以在后臺繼續運行的提示。到目前為止,我發現我可以在我的 AndroidManifest.xml 中設定持久性屬性,但是我能做的就是讓我的應用程式一直在后臺運行,即使它被意外關閉?
我的問題:
- 如何防止
QMqttClient自動斷開連接 - 或者:如果連接丟失,我如何自動重新連接? - 如何防止 Qt Android 應用程式被殺死?
uj5u.com熱心網友回復:
您可以使用該服務盡可能避免程式破壞。
Service 是一個應用程式組件,可以在后臺執行長時間運行的操作。它不提供用戶界面。一旦啟動,服務可能會繼續運行一段時間,即使在用戶切換到另一個應用程式之后也是如此。此外,組件可以系結到服務以與其互動,甚至執行行程間通信 (IPC)。例如,服務可以在后臺處理網路事務、播放音樂、執行檔案 I/O 或與內容提供商互動。
Android 系統僅在記憶體不足時停止服務,并且必須為具有用戶焦點的活動恢復系統資源。如果服務系結到一個用戶關注的活動,那么它就不太可能被殺死;如果服務被宣告為在前臺運行,它很少被殺死。如果服務已啟動并長時間運行,系統會隨著時間的推移降低其在后臺任務串列中的位置,并且該服務非常容易被殺死——如果您的服務已啟動,您必須將其設計為優雅地處理重啟系統。
https://developer.android.com/guide/components/services
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/359394.html
