簡體   English   中英

檢查活動是否處於活動狀態,是否活動將數據從服務傳遞到活動?

[英]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 ,表示“有新數據可用”。 如果在發送廣播IntentActivity處於活動狀態,您的Activity可以注冊一個偵聽器,該偵聽器將由該廣播Intent觸發。 然后,它可以從您放置的任何位置獲取數據,並使用它做任何您想做的事情。

暫無
暫無

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

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