Java 按下图标可以启动Android应用程序吗?
我已将项目构建为.apk文件,然后将其安装到设备中。 我的步骤是: 1) 按下应用程序抽屉中的图标,主活动已启动 2) 按一些操作转到第二个活动 3) 按主页按钮 4) 再次按图标 我的期望是第二个活动应该恢复,但它只是重新启动主要活动 如何修复我已尝试将启动模式设置为的问题 android:launchMode=“singleTask” android:launchMode=“singleTop” 但它不起作用 这是我在Manifest.xml文件中的设置Java 按下图标可以启动Android应用程序吗?,java,android,Java,Android,我已将项目构建为.apk文件,然后将其安装到设备中。 我的步骤是: 1) 按下应用程序抽屉中的图标,主活动已启动 2) 按一些操作转到第二个活动 3) 按主页按钮 4) 再次按图标 我的期望是第二个活动应该恢复,但它只是重新启动主要活动 如何修复我已尝试将启动模式设置为的问题 android:launchMode=“singleTask” android:launchMode=“singleTop” 但它不起作用 这是我在Manifest.xml文件中的设置 <ac
<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>
查看清单文件,您的问题是由您设置的android:launchMode属性造成的。您应该将其设置为默认值,也可以避免设置。通过这种方式,您可以获得所需的行为。在清单文件中,如果您已声明任何活动,且意图过滤器具有操作主启动器和类别启动器,那么这就是您的第一个活动或主启动器启动应用程序的活动
现在,在任何android智能手机应用程序中,都从两个方面开始
1) 主屏幕/启动器屏幕行为:现在,如果您按下此处的任何图标,那么启动器将看到应用程序的清单文件,并查找具有intent action launcher和main的活动,然后它将调用该活动 2) 最近的应用程序/长按主页按钮
行为:您最近打开的任何应用程序都将显示在此处,Android将拥有该应用程序的所有跟踪记录,当您按下任何图标时,该应用程序将显示您浏览的最新活动
因此,您的行为是默认行为,并且没有任何错误/故障。应该是这样的
您问题的解决方案:
如果你想在应用程序生命周期内只显示一次启动屏幕,那么你需要使用一些布尔值并将其存储在SharedReferences中,并使用它来检查你是否是第一次。如果不是第一次,则直接使用intent调用下一个活动。你的建议是有道理的,但我仍然不理解其中一个事情如果我用调试器运行应用程序,这种情况不会发生,我真的不明白为什么?