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

最佳答案

您无法从服务访问活动的进度条:您让服务以适合您尝试执行的任何操作的速率向您的活动发送消息,并通过更新自己的进度条使您的活动对这些消息做出响应。
如果您能提供一点关于您希望进度条跟踪的后台任务性质的详细信息,这会有所帮助:如果后台任务是重要的,而活动只是显示它的进度,那么服务就是正确的使用方式。如果它是短期的,并且在活动之外没有意义,那么您可能会使用一个asynctask并在其onprogressupdate中更新进度条(尽管在屏幕方向更改时,请小心不要泄漏asynctask)。
或许看看这里:How to have Android Service communicate with Activity

10-07 19:45
查看更多