2011-12-14 90 views
2

在我的应用程序中,我注意到使用Home按钮时的差异。Android,LongPress Home和Home的区别

Ex。 我按下应用程序图标,应用程序就像使用Activity(A)一样开始操作。当我按下主页按钮时,应用程序会尽可能最小化。当我再次按下应用程序图标时,应用程序将以活动(A)继续执行onResume()

现在是棘手的部分。 从应用程序中,当我按下“开始按钮”时,启动另一个活动(B),并将焦点更改为新的活动(B)。当我按Home时,该应用会最小化(就像它应该的那样)。

而现在的问题: 如果我按下应用程序图标,我的应用程序从一开始就从我的开始按钮所在的Activity(A)开始运行。 (而不是与我刚刚最小化的ActivityB) 如果我再次完成这个场景(开始应用程序 - >焦点到活动(B) - >按回家),这次长按主页按钮,“最近启动”操作,我选择我的应用程序。现在焦点恢复到活动(B)

活动(A)和活动(B)都设置为SingleTop。

我的问题是,为什么会出现使用长按家庭+图标,一键式首页+图标的不同组合时的差异

回答

4
First think about this... when you are opening your application ... 
    your first Screen will be shown may be it is SplashScreen. 

    and if..you are in Activity A and goes to B and then Press BACK obviously 
    you will see Activity A. 

所以,现在当你长按Home键 ..That 节目你最近的应用与保存上次显示的活动状态..这就是为什么当你从那里打开..你没有SplashScreen直接看到活动B.

而且简单按HOME键一次,你去到主屏幕从正在打开应用程序屏幕,这是启动屏幕 ..from那里,如果你按特定的应用程序将被启动任何图标(手段从其Intent过滤器设置为启动器)中定义的主活动打开应用程序...这就是为什么从那里打开一个应用程序将永远显示你,你的SplashScreen。

This is not a Bug,not an Issue..This is how the Android is designed to work. 

相同的按钮用于执行两个不同的事件,因为它们是相关的..但它不是像这两个事件执行相同的操作。

+0

非常好!谢谢你清理它 – 2011-12-14 11:58:32

1

继续上面的场景,我有一个带有登录屏幕的应用程序,该应用程序带我进入活动A - >某个按钮的OnClick将我带到活动B中。当Homebutton出现LongPress时,我启动另一个应用程序并在5-10分钟内呆上相当长的时间。然后再次当我长按主页按钮,并返回到我的活动 - 它开始于活动B ..这是正确的。 从活动B,如果我按下返回键,它确实带我到活动A,但有一个黑色的屏幕显示。在正常情况下,它向我显示了动态XML数据的列表视图。