不断将数据从服务发送到活动

时间:2014-04-22 14:58:50

标签: android service android-activity broadcastreceiver android-broadcast

我正在获取服务中的数据,并且这些数据会不断更新。 我可以在Log中看到这些数据,但我希望在活动中看到它以显示它。那么我应该将什么添加到我的服务中,以便我的活动能够立即通知最新数据?

我可以使用onTaskCompleted方法在任务完成后查看和获取服务中的数据,以及我在服务中如何使用它。

(PS:我可以将数据从活动发送到服务)。

修改
我添加了一些代码来解决问题,但我在“SEND_DATA_INTENT”中出错:SEND_DATA_INTENT cannot be resolved to a variable

public class DownloadService extends Service  implements OnTaskCompleted {.....
     @Override
            public void onTaskCompleted(String result){

        results.add(result);//Ici on ajoute a chaque appel du service le debit 
        Intent intent = new Intent(SEND_DATA_INTENT);//i have an error here :SEND_DATA_INTENT cannot be resolved to a variable
        intent.putExtra("type", "message");
        sendBroadcast(intent);

    }
//i would like to send data to the activty here ,because i'm sure that the task is end, and i have the data that i need.
            }
}

在主Activity中我添加了DataReciver类

private class DataReciver extends BroadcastReceiver
            {
                @Override
                public void onReceive(Context context, Intent intent)
                {
                    if (intent.getAction().equals(DownloadService.SEND_DATA_INTENT)) //i have an error here :SEND_DATA_INTENT cannot be resolved to a variable
                    {
                        Bundle bdl = intent.getExtras();
                        String type = bdl.getString("type");

                    }
                }
            }

1 个答案:

答案 0 :(得分:0)

在服务中添加广播接收器,然后通过来自此服务的接收器事件将数据捕获到广播接收器中并执行特定操作,并将操作捕获到您希望通过意图发送数据的活动。