【问题标题】:Hide an activity隐藏活动
【发布时间】:2011-11-28 18:29:41
【问题描述】:

我从我的 Activity 启动一个 Intent(上传图片),然后等待结果 (onActivityResult)。

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

【问题讨论】:

    标签: android android-activity


    【解决方案1】:

    正如 Android 文档所解释的,活动用于向用户显示界面:

    一个活动代表一个带有用户界面的单一屏幕。例如,一个电子邮件应用程序可能有一个显示新电子邮件列表的活动,另一个用于撰写电子邮件的活动,以及另一个用于阅读电子邮件的活动。尽管这些活动一起工作以在电子邮件应用程序中形成一种有凝聚力的用户体验,但每个活动都独立于其他活动。因此,不同的应用程序可以启动这些活动中的任何一项(如果电子邮件应用程序允许)。例如,相机应用程序可以在撰写新邮件的电子邮件应用程序中启动 Activity,以便用户共享图片。

    我推荐阅读whole the article

    如果你想在后台做一些事情,你可以使用ThreadAsyncTask,甚至是Service。阅读本文档的更多内容可以让您了解更多有关在 Android 中应如何处理此类事情的信息。

    【讨论】:

      【解决方案2】:

      理想情况下,您想在此处使用AsyncTask。这允许您将上传与主 UI 线程分开,防止应用程序“无响应”。

      另一种解决方案是创建一个新的Service。但这不是文档推荐的内容。

      【讨论】:

        【解决方案3】:

        我认为,简短的回答是。您可以将其歪斜,但可能不是一个好的界面设计。当你的 Activity 突然从后台弹出时,用户很可能会不高兴,因为他会用较低的 Activity 做某事。

        更准确地说,你想用它做什么。也许还有其他方法。

        【讨论】:

          【解决方案4】:

          如果 Activity 中没有视图或元素,您可以尝试在 manifest 中将 Activity 设置为透明:

          android:theme="@android:style/Theme.Translucent"

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-05-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多