我将我的项目构建为.apk文件,然后将其安装到我的设备中。 我的步骤是:
1)按应用程序抽屉中的图标,启动主活动。
2)按某些操作进入第二个活动
3)按主页按钮
4)再次按下图标
我的期望是第二个活动应该恢复,但它只是重新启动主要活动。
如何解决我已尝试将LaunchMode设置为
的问题机器人:launchMode =" singleTask"
机器人:launchMode =" singleTop"
但它没有用。
这是我在Manifest.xml文件中的设置
<activity
android:name=".auction.MySplashScreen"
android:configChanges="orientation"
android:label="@string/app_name"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 0 :(得分:2)
查看您的清单文件,您的问题是由您设置的android:launchMode属性。您应该将其设置为默认值,或者您也可以避免设置它。使用这种方式可以获得所需的行为。
答案 1 :(得分:1)
在清单文件中,如果您已声明任何具有操作主要和类别启动器的意图过滤器的活动,那么这已知是您启动应用程序的第一个活动或主要活动。
现在任何Android智能手机应用程序都从两个方向开始。
1)主屏幕/启动器屏幕
行为:现在,如果您在此处按任何图标,则启动器将看到应用程序的清单文件,并查找具有意图操作启动器和main的活动,然后它将调用该活动。
2)最近的应用程序/长按主页按钮
行为:您已打开的任何最近的应用都将显示在此处,Android将拥有该应用的所有跟踪记录,当您按任意图标时,该应用将显示您浏览的最新活动
因此,您所拥有的行为是默认行为,并且没有任何错误/故障。这就是应该的样子。
解决您的问题:
如果你想在应用程序生命周期中只显示一次启动画面,那么你需要有一些布尔值并将其存储在共享优先级中并用它来检查你是第一次或不是第一次天气..如果它不是第一次直接使用intent调用下一个活动。