如何确定某项活动是从后方导航启动还是由用户在Android中启动?

时间:2013-08-13 01:25:01

标签: android

当应用程序从应用程序外部启动时,我的应用程序的主屏幕需要具有不同的行为。例如,假设一个Android Twitter客户端在启动时试图获取更新的订阅源,但是当您点击某个项目以查看其详细信息页面并回击时,屏幕不会重新加载新的订阅源,而是您离开的位置。

到目前为止,我已经尝试查看调用包属性,但这没有帮助,因为当用户第一次启动应用程序或从详细信息页面返回时,它似乎都为null。

1 个答案:

答案 0 :(得分:1)

当用户第一次启动时,onCreate()然后会调用onresume()。导航回来并从backstack获取活动时,只会调用onResume。

此外,如果您的活动设置了singleTop,那么您可以查看onNewIntent(),当您从其他屏幕导航回活动时,将会调用它。

所以,我建议你的解决方案是为你的活动设置singleTop。然后使用onNewIntent()导航回来。第一次启动onCreate()将被调用。

很抱歉,如果我无法理解你的问题..