Android:最小化并恢复活动

时间:2012-05-23 16:21:25

标签: android background notifications multitasking foreground

我是Android开发的新手。

我的问题有点棘手。

我想使用2个活动开发一个应用程序。

第一个活动有一个按钮。单击按钮,我希望活动2开始,如下所示:

活动2将进入前景2秒,然后进入背景8秒,之后它将再次进入前景2秒,然后再次进入背景并继续进行。

同时,这两项活动都应该继续各自的任务。

对于前。我们可以有一个活动,如播放音乐的音乐播放器和另一个名为活动2的活动,它正在下载一些文件。

我尝试了很多东西,从使用Intent到最小化活动以及在通知栏上显示通知。通知栏的问题在于,在使用通知栏恢复活动时,它始终调用OnCreate()方法,从而再次启动活动。

我可以按下按钮启动活动,但不知道如何最小化它,然后以相同的状态弹出它。

我在后台使用服务来解决时序问题。

请帮助并分享您对此问题的解决方案。

4 个答案:

答案 0 :(得分:3)

我已经解决了这个问题。

解决方案是将清单文件修改为:

添加到主要活动代码

android:launchMode="singleTask"

android:clearTaskOnLaunch="true"

添加到子活动代码

android:launchMode="singleInstance"

android:clearTaskOnLaunch="true"

它适用于我的应用程序:)

谢谢大家的贡献

答案 1 :(得分:2)

也许你找到了这个问题的解决方案,正如你所说,但无论如何,我建议你阅读一些东西..它会帮助你更好地理解:

Oki ..我做了一些努力并为你组织链接。我知道它似乎有很多材料,但是你不必在接下来的15分钟内阅读它们。放轻松,阅读,尝试,学习。把它作为建议,因为一旦你习惯以错误的方式做事,以后纠正它们就会困难得多。

希望你觉得它很有用..;)干杯

答案 2 :(得分:1)

moveTaskToBack(真);将整个任务移回,即将两个活动都移回。然后问题是将活动移到我不知道的前景。

答案 3 :(得分:0)

您是否尝试过使用

this.moveTaskToBack(true);

我不确定这是不是你要找的。继承人Documentation也是如此!