首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从Unity Player返回到之前运行的Android活动?

如何从Unity Player返回到之前运行的Android活动?
EN

Stack Overflow用户
提问于 2013-09-30 00:37:27
回答 5查看 7.6K关注 0票数 7

我遇到了与本主题Integrating Unity with Eclipse: Back Button Click中提到的问题相同的问题,但建议的解决方案不起作用。

我在原生Android应用程序中嵌入了Unity播放器。我可以毫无问题地启动Unity播放器,但现在我想用back按钮返回到我之前的活动。我已经在Unity端尝试了Application.Quit,在Android端尝试了finish(),两者都会关闭整个应用程序。我还试图从Unity上下文中启动一个新的活动,但这也不起作用,我想这是因为我使用的是片段。我的Activity设置如下:

其中嵌入了几个片段的MainActivity。其中两个包含列表,我可以从中启动一个新活动,该活动向我显示列表元素的详细视图。细节视图也是片段,你可以在其中左右滑动到上一个/下一个元素(类似于gmail应用程序)。在详细视图中,您可以启动Unity来对qualcomm vuforia框架进行一些扩充。

到目前为止,一切都正常,但我不能从UnityPlayer返回到详细视图。

有谁知道如何做到这一点吗?

谢谢!

EN

回答 5

Stack Overflow用户

发布于 2014-09-25 13:46:25

当你在unity活动中回压时,整个过程将被终止。因此,当您通过android activity启动unity活动时,请在不同的流程中启动unity活动。你可以通过在项目的android清单文件中声明它来做到这一点。

票数 6
EN

Stack Overflow用户

发布于 2016-12-02 19:03:44

您应该在AndroidManifest.xml中为UnityActivity.java添加下面几行代码:

代码语言:javascript
运行
复制
    <activity
        android:name=".ui.activities.UnityPlayerActivity"
        android:label="@string/app_name"
        android:launchMode="singleTask"  <-- THIS
        android:process=":unityplayer"   <-- AND THIS
        ...    
    >
        ...
    </activity>

它将像另一个进程一样运行UnityActivity,Unity命令: Application.quit();将只关闭Unity进程。

此外,如果这还不够,您可以将这些行添加到启动UnityActivyty的活动中。但是要小心,另一个包活动通常会提供它自己的sharedPreferences和其他一些东西。

票数 5
EN

Stack Overflow用户

发布于 2018-04-05 15:26:39

将以下内容添加到清单文件后:

代码语言:javascript
运行
复制
android:launchMode="singleTask"
    android:process=":unityplayer"

还要确保在UnityPlayerActivity中像这样修改以下方法:

代码语言:javascript
运行
复制
    @Override public boolean onKeyDown(int keyCode, KeyEvent event)   {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
        onBackPressed();
    }return mUnityPlayer.injectEvent(event);
    }

您可以在onBackPressed()中添加自己的代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19080497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档