Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按下主页按钮后如何跳过第一个活动?(Android)_Java_Android_Splash Screen - Fatal编程技术网

Java 按下主页按钮后如何跳过第一个活动?(Android)

Java 按下主页按钮后如何跳过第一个活动?(Android),java,android,splash-screen,Java,Android,Splash Screen,(安卓) 第一个活动是Splash活动 当我这样做时,我想跳过第一个活动: 打开应用程序->SplashActivity->SecondActivity->按主页按钮->按应用程序图标->SecondActivity 这可能吗?怎么做 SOLVED android:launchMode shoud be "standard" 当您按下home(主页)按钮并再次启动应用程序时,无需执行任何操作,将显示SecondActivity(第二个活动)。如果您想在按下后退按钮时启动,则应用程序存在,然后

(安卓) 第一个活动是Splash活动

当我这样做时,我想跳过第一个活动: 打开应用程序->SplashActivity->SecondActivity->按主页按钮->按应用程序图标->SecondActivity

这可能吗?怎么做

SOLVED

android:launchMode shoud be "standard"

当您按下home(主页)按钮并再次启动应用程序时,无需执行任何操作,将显示SecondActivity(第二个活动)。如果您想在按下后退按钮时启动,则应用程序存在,然后在启动SecondActivity时调用SplashActivity中的finish()。

我认为您需要覆盖SecondActivity的
onPause()
方法,以存储一些指示应用程序已达到该活动的标记,然后使用
onResume()
SplashActivity的方法如果发现该状态,立即启动SecondActivity

有关活动生命周期的详细信息,请参阅活动文档:


更好的设计可能是先启动SecondActivity,然后在其上启动SplashActivity。这样,如果它从上一次运行中找到状态标记,它将永远不必启动SplashActivity。

这取决于您希望如何完成此操作。就我个人而言,我根本不会使用飞溅动作。。他们无缘无故地臃肿起来。祝酒辞也可以完成同样的事情,当你的活动完成时,它可以被取消。。 我的吐司上有图片和文字,所以看起来真像是一个水花

您要做的是测试当您启动第一个活动时,第二个活动是否处于暂停状态,然后如果它已暂停,您希望完成();第一项活动

虽然我不是专业人士,但我认为您必须在第二个应用程序的onpause调用中存储一些内容,并在onstop方法中清除它

同样,如果您只需在创建单个活动时提交祝酒词,所有这些都可以处理得更顺利。打开应用程序=>on\u create=>toast=>hide\u toast when load=>press home=>press app icon=>no\u on\u create=>no toast=>press back button=>app closes=>press icon=>goto\u 10

注意:当您按下后退按钮时,所有下注都将关闭。应用程序是从内存中卸载的,因此如果你的启动是为了隐藏加载(这是产生启动的唯一原因),那么你必须再次显示启动,因为你的应用程序必须再次加载


如果你将splash用作广告,并且不想太频繁地展示它;然后我建议使用SharedReferences并存储上次显示splash的时间,或者上次暂停应用程序的时间,并说如果(暂停秒+120<现在秒)显示splash()

,将导致返回按钮不返回splash活动,但是OP希望当用户返回应用程序时,应用程序能恢复到第二次活动时停止的位置。@Edward Falk你说得完全正确。回答这个问题时我没有思考。只有当应用程序被操作系统杀死,并且当应用程序再次启动时,操作系统重新创建堆栈时,这才有帮助。实际上,他不必做任何事情,当他再次启动时,第二个屏幕将显示。android:launchMode=“singleTask”不工作,但android:launchMode=“standard”工作实际上如果您使用该标志,则在onPause期间存储该标志,并在onResume期间清除该标志。