Android “主页”按钮和“开始续订”上的活动错误
我有一个android应用程序,它有两个活动,A和B。 然后,当我启动活动A时,转到活动B(按钮),按home并单击launcher中的应用程序,我打开它,希望是活动B,但它是活动A 为什么? 在活动A的清单中,我有Android “主页”按钮和“开始续订”上的活动错误,android,Android,我有一个android应用程序,它有两个活动,A和B。 然后,当我启动活动A时,转到活动B(按钮),按home并单击launcher中的应用程序,我打开它,希望是活动B,但它是活动A 为什么? 在活动A的清单中,我有 <activity android:configChanges="locale|orientation|keyboardHidden|screenSize" android:label="@string/app_name" android:
<activity android:configChanges="locale|orientation|keyboardHidden|screenSize"
android:label="@string/app_name" android:launchMode="singleInstance" android:name="MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
在activity B launchMode:singleTask中,在意图筛选器中:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
试试看
清单中的android:launchMode=“singleInstance”
If we do not add launch mode for activities in manifest file,the default implementation is as below:
1.Activity A --> Activity B
2.Pressed Home button.
3.launch application again from launcher
Result:
Activity B will be seen. (If application is not killed).
Which behavior you are expecting.
<activity android:name=".ActivityA"
android:label="@string/app_name"
android:launchMode="singleTask"
>
<activity android:name=".ActivityA"
android:label="@string/app_name"
android:launchMode="singleTask"
>
步骤:
1.活动A-->活动B
2.按下主页按钮。
3.再次从启动器启动应用程序
结果:将看到活动A
原因:
如果我们为activity添加android:launchMode=“singleTask”,那么将在新任务中创建activity。若再次启动应用程序,将删除现有的“活动回退”,并再次在新任务中创建“活动”。
这就是为什么当您再次启动应用程序时无法看到活动B的原因
如果需要进一步澄清,请添加您的评论抱歉,我已为启动模式声明了活动a。如何将活动a设置为启动模式并获取所需的工作流?活动A->活动B->主页->activityb@colymore您可以检查以下启动模式:您将获得预期的行为。活动A->活动B->主页->活动B