我正在處理我的第一個android應用程序,它的功能是它有一個活動,它在登錄後啓動一個服務,在一段時間或任何時間後將用戶位置壓入服務器用戶位置變化。現在用於從服務到活動的通信,我正在使用BroadcastReceiver。從服務中發送廣播殺死活動
將位置記錄到服務器之後的服務廣播我的活動收到的消息並相應地更新UI。現在一切都很好,直到這一點,但當我從後臺刪除我的活動,而我的服務仍在後臺運行時,會發生什麼情況是,只要服務記錄服務器上的位置並廣播消息,它就會崩潰並顯示一條消息在屏幕上說你的應用程序已經停止。
我認爲,android廣播系統期望我的活動是活着接收廣播,當它沒有找到它然後崩潰的服務。
我想要的是,如果我的活動在附近,它會收到廣播,但如果不是,那麼廣播應該被忽略。它不應該使我的服務崩潰。
我按照正確的步驟註冊onResume()中的服務並在onPause()中取消註冊。此外,我正在動態註冊服務,而不是在清單中。