activity的启动模式问题

蜗牛TT 发布于 2012/09/17 10:27
阅读 1K+
收藏 1

@迷途d书童 你好,想跟你请教个问题:

MainActivity的launchMode = SindleTask。 当应用由MainActivity跳转到DetailActivity后, 按下Home,这时重新点击应用图标启动应用。默认会跳到MainActivity,这时我需要自动跳转到DetailActivity,有一个方案是将 MainActivity的launchMode=standard ,但这样MainActivity每次都会重新启动,不是我想要的。那程序再次启动跳到DetailActivity是怎么写的?

我看了OSChina客户端,这个问题实现了,但是一直没找到解决这个问题的配置或者代码写在那个地方的?   请求help。

加载中
0
蜗牛TT
蜗牛TT

好吧,我发现这个问题是怎么回事了。我总结一下:

1.MainActivity如果是SingleTask的话,就算按下Home时最后如果是DetailActivity。则重新启动应用会跑到MainActivity。这是我上面出现问题的情况。

2.如果MainActivity如果是Standard或者SingleTop,并且按下Home时最后如果是DetailActivity。重新启动应用会跑到DetailActivity。

我的应用欢迎页和MainActivity是一个Activity。模式为SingleTask,就出现了上面的问题。OSChina客户端的MainActivity是欢迎Activity,模式为Standerd,则能重新启动能保留DetailActivity。如果OSChina客户端的MainActivity是SingleTask模式,也会出现这样的情况。

我分析了一下原因,应该是应用启动过程中,会先判定应用的MainActivity是什么模式,如果是SingleTask,则会清理其Task顶部的所有Activity.这就是我的DetailActivity,重启后会被destroy掉,丢失的原因。然后才显示这个MainActivity所在的Task。

    如果是长按Home键,在历史应用中选择我们的应用,就不会出现destroy掉DetailActivity这样的情况,它们的代码逻辑还是不一样的。

@迷失d书童 @hellsnow @michaely  

蜗牛TT
蜗牛TT
哎呀,罪过啊。居然把两位的名字打错了。
0
迷途d书童
迷途d书童
这个不需要做配置的吧,应用MainActivity跳转到DetailActivity后,按下Home,再重新点击应用图标启动应用,系统会判断应用之前是否已启动,已启动会直接显示堆栈顶部的DetailActivityActivity,没启动就重新启动MainActivity。
0
蜗牛TT
蜗牛TT
   实际上不是这样的,我单独创建了项目测试了一下,如果mainActivity是singleTask,是不会调转到DetailActivity的。  有一个launchmode 的Demo.就有这样的问题。你看一下吧:https://github.com/gnorsilva/Activities-LaunchMode-demo
0
理工男海哥
理工男海哥

@迷途d书童  

把 DetailActivity的launchMode 也设置为SindleTask就好了,但是退出这个DetailActivity注意及时关掉(finish)。

0
理工男海哥
理工男海哥

引用来自“michaely”的答案

@迷途d书童  

把 DetailActivity的launchMode 也设置为SindleTask就好了,但是退出这个DetailActivity注意及时关掉(finish)。

launchMode 的设置会对 长按home键弹出的activity 有影响。它会启动 launchMode  基本高的activity,同一种级别的会自动最后一个activity。
0
西风夜渡
西风夜渡

的确不需要做配置(所有的Activity都不做launchMode配置,默认就行), 系统会自动判断  如果应用的入口Activity是MainActivity,并且配置MainActivity的launchMode = SindleTask,那么通过home键启动时,每次都会从 MainActivity启动。


0
迷途d书童
迷途d书童
osc的客户端启动activity是appstart :)
0
hawkyoung
hawkyoung
sgt不要乱用,以前g的文档里头是不建议一个app里头有多个sgt的activity的。home返回的问题我遇到错乱是因为设了多个sgt的activity
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部