簡體   English   中英

使用AlarmManager和BroadcastReceiver存儲文件

[英]Storing files with an AlarmManager and BroadcastReceiver

我有一個應用程序每分鍾執行一個任務,然后將該信息添加到存儲在應用程序的MainActivity中的ArrayList。 當應用程序運行時,即使在后台運行,這也很有效。 但是,當我銷毀應用程序並讓AlarmManager在后台每分鍾重復一次時,由於某種原因,每次添加新信息時都會擦除列表,這意味着下次打開應用程序時,ArrayList中始終只有一個對象,這是最后一個由最后一個AlarmManager創建的。

每分鍾的此事件在BroadcastReceiver中處理,該事件調用主活動中的方法以添加到存儲在那里的arraylist。 這可能是為什么我的數據在應用程序未運行時被擦除的原因? 每次我想要將新數據添加到列表中時,我都會讓應用程序從存儲中獲取當前列表,該列表正確地獲取列表,直到應用程序未運行,然后每次都會獲取一個空列表。

當你的應用程序在后台時,你的arraylist將是空的。你應該將你的arralist存儲到sharedpreferences.so每當你必須檢索你的數據然后你可以從shareprefernce獲取數據。

請查看以下鏈接:

參考鏈接

我希望它對你有用。

當您的應用關閉時,警報管理器不會忽略先前設置的警報。 因此它將按照最后設定的時間調用。 因此,請確保在關閉應用程序時取消之前設置的警報,然后您可以在應用程序啟動時或根據需要啟動該警報。

暫無
暫無

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

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