[英]Check if activity is active, and if active pass data from service to activity?
我有一個名為EventReceivingSevice
的服務,它將在onDataRefresh(JSONObject data)
函數中獲取新數據。
private void onNewData(JSONData data) {
boolean isActive=isActivityActive(); //Check if activity is active
if(isACtive)
passData(data);
else
storeData(data);
}
一個名為HomeActivity
的活動將顯示數據。 當EventReceivingService
將獲取新數據時,必須檢查HomeActivity
是否處於活動狀態,它必須將數據傳遞給HomeActivity
,如果沒有,它將數據存儲在某個地方以便HomeActivity
稍后使用它。
數據為 JSON 格式。
怎樣才能做到這一點?
有一個簡單的方法,但它不需要 JSON 數據。 您可以將數據添加為公共靜態數據。
public static int GRID_COUNT = 2;
如果您將該數據用於閱讀目的,您可以這樣做。
public static final int GRID_COUNT = 2;
您無法可靠地確定Activity
是否處於活動狀態。 您應該做的是將數據存儲在某處(文件、SQLite 數據庫等),然后發送一個廣播Intent
,表示“有新數據可用”。 如果在發送廣播Intent
時Activity
處於活動狀態,您的Activity
可以注冊一個偵聽器,該偵聽器將由該廣播Intent
觸發。 然后,它可以從您放置的任何位置獲取數據,並使用它做任何您想做的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.