簡體   English   中英

檢索已注冊的BroadcastReceiver的實例以注銷

[英]Retrieve instance of a registered BroadcastReceiver to unregister

在我的應用程序中,我有2個BroadcastReceivers 讓我們調用AReceiverBReceiver AReceiver只是在監聽android.intent.action.BOOT_COMPLETED因此可以注冊BReceiver進行其他操作(如果在我的應用程序設置中將其打開)。

所以我有一個PreferenceActivity ,可以切換我的應用程序的狀態,這意味着:

  • 狀態:開啟
    • AReceiver 不會在啟動時注冊BReceiver
    • 從關閉更改為打開應注冊BReceiver
  • 狀態:關閉
    • AReceiver將在啟動時注冊BReceiver
    • 從開->關更改應注銷BReceiver

這是我遇到的問題。 如果BReceiver是在AReceiverPreferenceActivity注冊的,那么該如何注銷呢? 我不知道我必須傳遞給unregisterBroadcastReceiver()作為參數,因為它需要已注冊接收者的實例。

如何檢索已注冊的BroadcastReceiver的實例,以便注銷該實例?

您應該能夠將BReceiver放置在清單中(默認為禁用),然后隨時啟用和禁用它。 在這里看看

您可以使BReceiver的激活始終通過AReceiver進行(即使在首選項中將OFF-> ON設置為開)。 這樣AReceiver可以存儲BReceiver的實例並能夠注銷它。 是否有意義 ?

暫無
暫無

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

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