簡體   English   中英

在Android上從非活動中注銷BroadcastReceiver

[英]Unregistering a BroadcastReceiver from a non-Activity on Android

我有一個需要BroadcastReceiver的Android庫,該庫已在對象構造函數中注冊。 它根據不斷變化的互聯網狀態對該對象執行操作。 但是,我遇到有關泄漏的接收器的錯誤消息,因為我沒有調用注銷。

當我不知道活動何時結束時,如何以及在何處致電注銷? 由於我只提供將由Activity實例化的類,因此沒有onPause,onClose方法。

您可以嘗試將接收器保存為靜態。 我認為只有兩次注冊相同的接收器,才會出現此錯誤。

如果失敗,您也可以嘗試調用context.getApplicationContext()。registerBroadcastReceiver()而不是使用活動上下文。

您是否應該擴展Activity ,使其與Android的工作流程正常配合,然后讓您的用戶擴展您的Activity?

這只是一個建議,但是肯定可以解決您正在描述的問題,因為您可以在onCreate()上注冊接收方,然后在onDestroy()上取消注冊接收方。

暫無
暫無

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

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