我正在开发一个需要在活动中加载UnityPlayer实例的Android应用程序,使用以下论坛帖子中的代码作为指南:
http://forum.unity3d.com/threads/98315-Using-Unity-Android-In-a-Sub-View.
最初,应用程序在名为"UnityActivity.java"的活动中正确显示UnityPlayer.
当用户导航回MainActivity(通过按下硬件后退按钮或单击ActionBar后退按钮)然后尝试重新打开UnityActivity时会出现问题 - 在这种情况下会显示黑屏而不是UnityPlayer.论坛中的用户建议将onPause和onResume生命周期事件转发给UnityPlayer,如下面的代码所示.但是,在执行此操作时,会显示以下错误并且应用程序崩溃.
首次导航到UnityActivity时会记录此信息:
W/libc(21095): pthread_create sched_setscheduler call failed: Operation not permitted
单击后退按钮时会记录此错误:
W/Choreographer(20963): Already have a pending vsync event. There should only be one at a time.
第二次导航到UnityActivity时会记录此错误:
A/libc(21095): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 21176 (Thread-5073)
......此时我被踢出了申请表.
这是主要活动的摘录MainActivity.java:
public void startUnityActivity(View view) {
Intent intent = new Intent(this, UnityActivity.class);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
这是Unity活动的摘录UnityActivity.java:
public class UnityActivity extends ActionBarActivity {
UnityPlayer m_UnityPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); …Run Code Online (Sandbox Code Playgroud)