【发布时间】:2011-11-28 18:29:41
【问题描述】:
我从我的 Activity 启动一个 Intent(上传图片),然后等待结果 (onActivityResult)。
如何隐藏我的 Activity 以便它可以在后台处理 Intents 结果? moveTaskToBack(true) 隐藏了整个应用程序,但我只需要返回上一个活动而不完成当前活动。
【问题讨论】:
我从我的 Activity 启动一个 Intent(上传图片),然后等待结果 (onActivityResult)。
如何隐藏我的 Activity 以便它可以在后台处理 Intents 结果? moveTaskToBack(true) 隐藏了整个应用程序,但我只需要返回上一个活动而不完成当前活动。
【问题讨论】:
正如 Android 文档所解释的,活动用于向用户显示界面:
一个活动代表一个带有用户界面的单一屏幕。例如,一个电子邮件应用程序可能有一个显示新电子邮件列表的活动,另一个用于撰写电子邮件的活动,以及另一个用于阅读电子邮件的活动。尽管这些活动一起工作以在电子邮件应用程序中形成一种有凝聚力的用户体验,但每个活动都独立于其他活动。因此,不同的应用程序可以启动这些活动中的任何一项(如果电子邮件应用程序允许)。例如,相机应用程序可以在撰写新邮件的电子邮件应用程序中启动 Activity,以便用户共享图片。
我推荐阅读whole the article。
如果你想在后台做一些事情,你可以使用Thread、AsyncTask,甚至是Service。阅读本文档的更多内容可以让您了解更多有关在 Android 中应如何处理此类事情的信息。
【讨论】:
我认为,简短的回答是否。您可以将其歪斜,但可能不是一个好的界面设计。当你的 Activity 突然从后台弹出时,用户很可能会不高兴,因为他会用较低的 Activity 做某事。
更准确地说,你想用它做什么。也许还有其他方法。
【讨论】:
如果 Activity 中没有视图或元素,您可以尝试在 manifest 中将 Activity 设置为透明:
android:theme="@android:style/Theme.Translucent"
【讨论】: