更新从服务到活动的下载进度

时间:2014-10-28 05:32:32

标签: android android-service

我正在Android应用中下载数据。流程是 - 活动启动一项服务,使用DownloadManager下载多个文件。现在我想在Activity UI中显示进度。如何将进度从服务发送到活动?

我的方法是 - 在按服务下载文件时广播消息。在活动中,使用广播接收器来接收进度。这种方法足够好吗?如果不是最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

要与您的活动进行通信,您可以使用LocalBroadCastManager

从服务发送更新:

LocalBroadcastManager.getInstance(context).sendBroadcast(intent);

接收活动更新:

LocalBroadcastManager.getInstance(context).registerReceiver(
                receiver, intentFilter);

检查文档https://developer.android.com/training/run-background-service/report-status.html#ReportStatus

答案 1 :(得分:-2)

只需在活动中创建一个静态方法......

喜欢这个

public static void updateUI(String value) {
  //your coding logic
}

然后从您的服务中调用

赞这个

(Your activity name).updateUI(value);