是否可以使用簡單的代碼一次註冊它們? 或者他們必須一個一個地註銷嗎?取消註冊在活動中註冊的所有廣播接收機
4
A
回答
5
你必須一個一個去做。一個活動不應該有很多,如果有的話,所以我不希望這太繁瑣。
5
我知道這是一個古老的問題,但爲什麼你不使用broadcastreceivers拿起意圖,然後觸發所有接收器註銷? (想後的東西更準確比目前的答案提供)
在你把這個響應片段/活動:
public class PanicFragment extends Fragment {
IntentFilter killFilter = new IntentFilter("your.app.name.some.awesome.action.title");
BroadcastReceiver kill = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
context.unregisterReceiver(receiver); // The actual receiver you want to unreigster
context.unregisterReceiver(this); // The one you just created
}
};
(不要忘了在創建片段時,最初註冊的接收器/活動)
而在你的服務或其他活動或任何你想要的:
private void callThisToUnregisterAllYourReceivers(Context context) {
Intent killThemAll = new Intent();
killThemAll.setAction("your.app.name.some.awesome.action.title");
context.sendBroadcast(killThemAll);
}
我希望這在任何方式有幫助
0
我不會使用另一BroadcastReceiver
刪除其他廣播接收器。
以下是我在我的應用程序類補充說:
private static List<BroadcastReceiver> broadcastReceivers = new LinkedList<>();
public void addReceiver(BroadcastReceiver receiver, IntentFilter filter) {
mContext.registerReceiver(receiver, filter);
broadcastReceivers.add(receiver);
}
public void removeReceiver(BroadcastReceiver receiver) {
unregisterReceiver(receiver);
broadcastReceivers.remove(receiver);
}
public List<BroadcastReceiver> getAllReceivers() {
return broadcastReceivers;
}
public void removeAllReceivers() {
for (BroadcastReceiver receiver : getAllReceivers()) {
removeReceiver(receiver);
}
}
相關問題
- 1. 何時取消註冊onCreate中註冊的廣播接收器?
- 2. 取消註冊已接收短信的廣播接收器
- 3. 何時何地我應該取消註冊廣播接收機?
- 4. 動態註冊廣播接收器
- 5. Android - 何時註冊/取消註冊在活動中創建的廣播接收器?
- 6. 註冊/註銷啓動廣播接收機
- 7. 如何在Android中取消註冊廣播接收器
- 8. 清單與活動中的廣播接收器註冊
- 9. 註冊廣播接收器清單中
- 10. 取消註冊服務中的廣播
- 11. 廣播接收器的問題,註冊的廣播接收器
- 12. 在onDestroy()和onSaveInstanceState()上取消註冊廣播接收器
- 13. 廣播接收器 - 如果在onResume/onPause上註冊/取消註冊,您是否會錯過一些廣播?
- 14. 如何註冊廣播接收器?
- 15. Android廣播接收器註冊問題
- 16. 註冊廣播接收器編程
- 17. 廣播接收器未註冊
- 18. 我的註冊廣播接收機有什麼問題?
- 19. 如何在活動中取消註冊接收者?
- 20. 廣播接收器註冊和註銷未在Android的
- 21. 機器人 - 如何廣播接收機註冊或不?
- 22. 如何在儀器內部註冊廣播接收機?
- 23. 我應該在哪裏註冊廣播接收機?
- 24. 註冊廣播接收機的最佳實踐?
- 25. 未通過AndroidManifest.xml註冊的廣播接收機
- 26. 註冊廣播接收機的正確方法android
- 27. 在活動中動態註冊和取消註冊廣播接收器,同時允許其在活動外運行
- 28. 問題的廣播接收器(接收器未註冊錯誤)
- 29. 註冊廣播接收器對於接收到的SMS
- 30. 如何避免接收者在活動中註冊時廣播被浪費?
這是最有效的答案,所以不知道爲什麼上面的一個是公認的答案。 – 2016-02-05 06:02:52