gpt4 book ai didi

android - 同一应用程序任务管理器中的两个 Activity

转载 作者:太空狗 更新时间:2023-10-29 16:30:24 26 4
gpt4 key购买 nike

我的应用程序有两个 Activity ,比如 MainActivitySecondActivity。主要 Activity 被声明为 android:launchMode="singleInstance" 并且它的方向始终是 portrait。第二个 Activity 始终是横向方向。

在某些设备中,一切正常,在任务管理器中,我的应用程序只有一个实例,但在某些设备(如三星 S7)中,当我启动 SecondActivity 时,会有两个实例我在任务管理器中的应用程序如下图所示:

enter image description here

我的猜测是 MainActivtylaunchMode 有问题,但我需要它是 singleInstance。有什么建议吗?

编辑:

list 中的 MainActivity:

<activity
android:name=".Activities.MainActivity"
android:screenOrientation="portrait"
android:launchMode="singleInstance"
android:theme="@style/AppTheme"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

第二个:

<activity
android:name=".Activities.SecondActivity"
android:screenOrientation="landscape" />

启动代码:

Intent intent = new Intent(getActivity(),  
intent.putExtra("VideoUri", filmGet.getOutput().getData().getFilmTrailer());
startActivity(intent);

如果有帮助,我会从 fragment 中启动 SecondActivity

最佳答案

因此,在阅读了@sharan 的评论并进行了一些谷歌搜索之后,这促使我阅读了一些谷歌文档。根据文档,android:launchMode=singleInstanceandroid:launchMode=singleTask 之间没有任何区别,只有一个。它们都使您的 Activity 成为单例,因此您永远不会拥有它的两个实例。它们之间的唯一区别是 singleInstance 将阻止任务附加任何其他 Activity ,而 singleTask 没有此限制。关于它们的任何其他事情都是相同的。

因此,对于正在阅读这篇文章的任何人,我建议您永远不要使用 singleInstance 启动模式,除非您确实需要它具有的功能。因为如果您的应用程序中只有一个 Activity,那么 singleInstancesingleTask 之间将没有区别。如果您有不止一项 Activity ,那么我会建议您将所有 Activity 都属于一项任务。

简而言之,将 singleInstance 更改为 singleTask 即可。

关于android - 同一应用程序任务管理器中的两个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40691041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com