2011-02-18 130 views
0

我有一个WidgetProvider,大约持续几毫秒。它需要一个意图,它会启动一项服务,这可能需要相当长的时间。我想在延迟期间向用户显示一些内容,例如阻止用户的进度条,但BroadcastReceiver/WidgetProvider似乎是启动进度条的错误位置。在这种情况下,我应该在哪里发布进度条?服务可能吗?但服务可能不是UI的一部分?Android进度对话框

+0

请为我澄清一下:你是否开始服务只执行一项任务?为什么你想要显示一个窗口小部件的进度条?我建议显示一个“中间”状态,以便用户知道正在处理的内容... – WarrenFaith 2011-02-18 00:33:05

+0

不希望用户在此服务运行时发出更多请求。 – Androider 2011-02-18 01:22:42

+0

我没有得到它,运行一项服务的目的是为了让用户处于黑暗中,那么为什么需要通知用户有关延迟完成服务任务? – GoodSp33d 2011-02-18 10:16:21

回答

1

在这种情况下,我应该在哪里发布进度条?

从用户界面的角度来看,您的唯一选择是将其放在应用程序窗口小部件中。 ProgressBar是应用程序小部件布局中的有效小部件之一。

根据谁更新您的应用程序小部件的RemoteViews来显示/更新/删除ProgressBar,这可能是您的Service在任何后台线程中使用的“显着时间”。

1

你有没有尝试把通知下拉进度条?在下载应用程序时做类似市场的事情应该可以很好地工作,并且可以在后台执行。

1

使用可以使用AsynTask来显示进度条。