因此,MyActivity将有一个进度条。 MyActivity的BroadcastReceiver将捕获意图“START_TASK”。之后,随着时间的推移,我想更新MyActivity的进度条。我原本试图从服务中处理这个问题,但我不知道如何从服务访问MyActivity的进度条(或者如何在服务中创建进度条并将其放在MyActivity的屏幕上)。
答案 0 :(得分:1)
您没有从服务访问活动的进度条:您让服务以适合您正在尝试的任何速度向您的活动发送消息,并让您的活动通过以下方式响应这些消息:更新自己的进度条。
如果您可以更详细地介绍您希望进度条跟踪的后台任务的性质,那将会有所帮助:如果后台任务是重要的事情,而活动只是向您展示它是如何进展的,那么服务是正确的选择。如果它是短暂的并且在活动之外没有意义,那么你可能正在使用AsyncTask并更新其onProgressUpdate中的进度条(尽管小心你不会在屏幕方向改变时泄漏AsyncTask)。 / p>