簡體   English   中英

設置大量通知的最有效方法是什么?

[英]What is the most efficient way to set a lot of notifications?

我正在創建一個日歷應用程序,您可以在其中設置無限量的活動,這些活動在啟動時觸發 alarmManager。 而且我不確定設置警報的最佳方法是什么。

假設我們有 50.000 個警報,它們的開始時間從數據庫中加載並保存在 MainActivity 的數組中,我們需要設置它們。 我們還有在 MainActivity 中設置通知的方法。

我想做的方式是設置第一個(最近的)警報,在 broadcastReceiver 中,我將設置下一個以下警報。 但是這個想法沒有奏效,因為我的列表和方法在 mainActivity 中,所以我需要獲取那個 mainActivity 的實例。 我在 onReceive 方法中獲得的上下文返回不同的上下文,因此無法通過它訪問它。 我還尋找了一種在意圖中傳遞活動實例的方法,但一無所獲。 最后,我嘗試在 broadcastReceiver class 中創建接口,並以這種方式傳遞實例,但這也是一個死胡同。

我想到的另一個選擇是在主線程中設置第一個 X 警報,然后在單獨的線程中設置 rest,但這似乎效率不高。

那么是否有可能以某種方式獲得 BroadcastReceiver 中 mainActivity 的上下文? 如果不是設置大量通知的最有效方法是什么?

感謝所有幫助

一段時間過去了,正如@CommonsWare 和@Richard Onslow Roper 建議的那樣,我能夠想出一個正確的解決方案。

正如建議的那樣,我創建了新的存儲庫來存儲通知。 當第一個通知被觸發時,意味着我們在 BroadcastReceiver.class onReceive 方法中,它將設置通知,然后通過在 workManager 中安排新工作來排隊下一個通知。

暫無
暫無

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

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