我想我在這裏看不到更大的圖片,或者想不明白BroadcastReceiver
的工作原理。在Android上取消註冊BroadcastReceiver
讓我們想象一個虛擬應用程序,每次用戶收到呼叫時,應用程序都會在SD卡上的文件中註冊來電號碼。爲此,我只需創建一個BroadcastReceiver
,每次用戶收到呼叫時都會啓動Service
。
現在,如果我想要該應用程序的作品,我明白我不能撥打unregisterReceiver()
在onPause()
方法。但另一方面,如果我運行應用程序,有時會發生異常:
活動泄漏了最初在此註冊的IntentReceiver。你是否錯過了對unregisterReceiver()的調用?
那麼,我在這裏錯過了什麼?如果我必須撥打unregisterReceiver()
,我的虛擬應用程序如何在每次通話中收到回撥?
謝謝
如果您泄漏了在活動中註冊的內存接收器,您可能只會收到此消息。如果您想在應用程序級別註冊接收者,您需要在清單中執行此操作,或者在創建應用程序時執行此操作。 – dcow