2011-11-28 40 views
1

从我的活动我开始一个意图(上传图片),然后我等待结果(onActivityResult)。隐藏一个活动

如何隐藏我的活动,以便它可以在后台处理Intents结果? moveTaskToBack(true)隐藏了整个应用程序,但我只需返回到前一个活动而不必完成当前活动。

回答

3

作为Android文档解释,活动是一种界面显示给用户:

的活性代表与用户接口的单一屏幕。例如,一个电子邮件应用程序可能有一个活动,显示新电子邮件列表,另一个活动组成一封电子邮件,另一个活动用于阅读电子邮件。尽管这些活动共同协作,在电子邮件应用程序中形成了一个有凝聚力的用户体验,但每个人都独立于其他人。因此,不同的应用程序可以启动这些活动中的任何一个(如果电子邮件应用程序允许)。例如,相机应用程序可以在组成新邮件的电子邮件应用程序中启动活动,以便用户共享图片。

我推荐阅读whole the article

如果您想在后台执行某些操作,可以使用Thread,AsyncTask或甚至Service。从本文档中阅读更多内容可以让您更多地了解如何在Android中处理这些事情。

1

理想情况下,您想在此处使用AsyncTask。这使您可以从主UI线程分离上传,防止应用程序“无响应”。

另一种解决方案是创建一个新的Service。这不是文档建议的。

1

我想,简单的回答是没有。你可以做它,但可能它不是一个好的界面设计。当你的活动突然从背景中弹出时,很可能用户不会感到高兴,因为他会用较低的活动做些事情。

更确切地说,你想要什么使用它。也许还有另一种方式。

0

如果没有活动视图或元素,你可以试试设置在表现为透明的活动:

机器人:主题=“@安卓风格/ Theme.Translucent”