Android 如何在后台管理ProgressBar?

Android 如何在后台管理ProgressBar?,android,service,progress-bar,Android,Service,Progress Bar,因此,MyActivity将有一个进度条。MyActivity的BroadcastReceiver将捕获“启动任务”的意图。之后,随着时间的推移,我想更新MyActivity的进度条。我最初试图从服务中处理此问题,但我不知道如何从服务中访问MyActivity的进度条(或者如何在服务中创建进度条并将其放置在MyActivity的屏幕上)。您不能从服务中访问活动的进度条:您让服务向您的活动发送消息,以适合您尝试执行的任何操作的速率,并通过更新自己的进度条使您的活动响应这些消息 如果您能提供更多关于

因此,MyActivity将有一个进度条。MyActivity的BroadcastReceiver将捕获“启动任务”的意图。之后,随着时间的推移,我想更新MyActivity的进度条。我最初试图从服务中处理此问题,但我不知道如何从服务中访问MyActivity的进度条(或者如何在服务中创建进度条并将其放置在MyActivity的屏幕上)。

您不能从服务中访问活动的进度条:您让服务向您的活动发送消息,以适合您尝试执行的任何操作的速率,并通过更新自己的进度条使您的活动响应这些消息

如果您能提供更多关于您希望进度条跟踪的后台任务性质的详细信息,这会有所帮助:如果后台任务是重要的事情,而活动只是向您展示其进展情况,那么服务是正确的使用方式。如果它是短期的,并且在活动之外没有意义,那么您可能会使用AsyncTask并在其onProgressUpdate中更新进度条(尽管在屏幕方向更改时小心不要泄漏AsyncTask)


也许你可以看看这里:

我也愿意用另一种方法来完成这项工作。只要我能让它工作,我对这个方法并不挑剔。有很多关于如何使用progressbar的例子:)谢谢。今晚我会详细调查这件事。昨天,我试图通过让我的服务每秒都广播到我的活动中来实现这一点,但有些事情没有正确发生。稍后我会发布一些代码。