Setting android:launchmode for UnityPlayerActivity



我正在Unity上构建一个Android游戏,它有一个打开新活动的按钮。

问题是在构建APK时,无论我在自定义AndroidManifest.xml中放入什么,Unity都会覆盖它并将Android:launchMode设置为com.unity3d.player.UnityPlayerActivitysingleTask

这会导致以下情况:打开游戏,点击打开活动的按钮,点击主页按钮进入后台,使用图标重新启动应用程序 - 新活动被销毁,相反,我看到相同的主 UnityPlayerActivity (它是相同的原始活动 - 没有重新创建任何内容(。

为了修复它 - 我必须创建 apk,使用 apktool 反编译它,硬编码android:launchMode=0forcom.unity3d.player.UnityPlayerActivity(这意味着standard而不是singleTask(,重新编译它,重新签名,然后才安装它。

这显然是一个彻头彻尾的黑客攻击,不能用作实际的解决方案。我需要找到一种方法来自己设置android:launchMode

我该怎么做?

在调查了这个问题之后,我发现这种行为的原因是Unity在AndroidManifest上设置了启动模式.xml将UnityPlayerActivity设置为单任务。

当应用程序启动新活动时,在启动模式:单任务的实例中,该活动在重新启动时关闭。

无论我们在自定义 AndroidManifest.xml 中设置什么,Unity 都会将其覆盖为 singleTask,并且根据官方 Unity 文档 – Unity 仅支持 launchMode:singleTask。

相关内容

  • 没有找到相关文章

最新更新