我正在Android应用中下载数据。流程是 - 活动启动一项服务,使用DownloadManager下载多个文件。现在我想在Activity UI中显示进度。如何将进度从服务发送到活动?
我的方法是 - 在按服务下载文件时广播消息。在活动中,使用广播接收器来接收进度。这种方法足够好吗?如果不是最好的方法是什么?
答案 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);