通过启动图标重新居中后,我的活动消失了

My Activity disappeared after recenter via launch icon

提问人:Fan Applelin 提问时间:11/8/2023 最后编辑:Fan Applelin 更新时间:11/9/2023 访问量:55

问:

先决条件

我有一个Unity项目,然后我把它内置到Android apk中。

有一些代码可以启动一个新的 Activity。

默认情况下,显示 SceneA。

问题

然后,我切换到主屏幕,然后切换回来。

显示 SceneA,但 BActivity 已消失。

我想保持显示 BActivity。

有什么建议吗?

补充 1:

当我从主屏幕切换回应用程序时,我的自定义活动 BAcitivity 已被取消。

它叫了,但没有叫。onDestroyonResume

补充 2:

和 之间有一些不同。Pure AndroidUnity Android

Pure Android
    launch KeepActivity
        KeepActivity onCreate
        KeepActivity onStart
        KeepActivity onResume
        handleWindowFocusChanged mWindowFocusChanged true mUpcomingWindowFocus true mAdded true

    switch to Home Screen
        handleWindowFocusChanged mWindowFocusChanged true mUpcomingWindowFocus false mAdded true
        KeepActivity onPause
        setWindowStopped stopped:true
        KeepActivity onStop

    switch back to App
        KeepActivity onRestart
        KeepActivity onStart
        KeepActivity onResume
        handleWindowFocusChanged mWindowFocusChanged true mUpcomingWindowFocus true mAdded true

Unity Android
    launch KeepActivity
        KeepActivity onCreate UnityPlayer.currentActivity:com.unity3d.player.UnityPlayerActivity@468f2d3
        KeepActivity onResume
        handleWindowFocusChanged mWindowFocusChanged true mUpcomingWindowFocus true mAdded true

    switch to Home Screen
        handleWindowFocusChanged mWindowFocusChanged true mUpcomingWindowFocus false mAdded true
        KeepActivity onPause

    switch back to App
        KeepActivity onDestroy

溶液

原因是有.(无论 Unity 和 Android 如何,它都会发生。UnityPlayerActivityandroid:launchMode="singleTask"

只需删除它,问题就可以解决。

但不知道会不会有其他问题。

Unity-游戏引擎 移动 Android-Activity

评论

0赞 Morion 11/8/2023
您的应用程序似乎消耗了太多系统资源,并且在后台作系统杀死。
0赞 Fan Applelin 11/8/2023
即使我创建了一个资源较少的新 Unity 项目,它仍然发生了。这似乎是一个Unity错误或其他东西。我希望有一种方法可以保持 BActivity 的活力。
1赞 Morion 11/8/2023
我不认为这是Unity3d错误。使用它构建的应用程序太多了,无法忽略这样的错误。您还可以检查清单设置,如此处所述 forum.unity.com/threads/...
0赞 Fan Applelin 11/8/2023
似乎是 2014 年的一篇文章,现在我使用 UnityPlayerActivity 作为启动器 Activity。而且我没有更改清单文件。并且 UnityPlayerActivity 没有设计,问题是 BActivity 被设计了。

答:

0赞 Fan Applelin 11/8/2023 #1

看:

https://forum.unity.com/threads/android-launchmode-why-does-unity-have-it-as-singletask.992683/

为 UnityPlayerActivity 设置 android:launchmode

应用重启而不是恢复

溶液

原因是有.(无论 Unity 和 Android 如何,它都会发生。UnityPlayerActivityandroid:launchMode="singleTask"

只需删除它,问题就可以解决。

但不知道会不会有其他问题。