java.lang.NullPointerException:尝试调用虚拟方法';boolean android.view.WindowInsets.isConsumed()';关于空对象引用

java.lang.NullPointerException:尝试调用虚拟方法';boolean android.view.WindowInsets.isConsumed()';关于空对象引用,android,unity3d,nullpointerexception,Android,Unity3d,Nullpointerexception,我正在使用UnityActivity与unity3d合作。我有一个主要的活动,从这里开始UnityActivity Intent unity = new Intent(this, UnityActivity.class); startActivity(unity); UnityActivity和MainActivity都是 launchMode="singleTask" 在使用unity之后,我调用下面的代码 UnityActivity.this.finish(); 我得到

我正在使用UnityActivity与unity3d合作。我有一个主要的活动,从这里开始UnityActivity

    Intent unity = new Intent(this, UnityActivity.class);
    startActivity(unity);
UnityActivity和MainActivity都是

launchMode="singleTask"
在使用unity之后,我调用下面的代码

UnityActivity.this.finish();
我得到了一个错误:

    D/MainActivity(25562): onStart
    D/MainActivity(25562): onResume
    D/AndroidRuntime(25562): Shutting down VM
    E/AndroidRuntime(25562): FATAL EXCEPTION: main
    E/AndroidRuntime(25562): Process: ru.mdinc.mdinc, PID: 25562
    E/AndroidRuntime(25562): java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.view.WindowInsets.isConsumed()' on a null object reference
    E/AndroidRuntime(25562):    at android.view.ViewGroup.dispatchApplyWindowInsets(ViewGroup.java:7077)
    E/AndroidRuntime(25562):    at android.view.ViewRootImpl.dispatchApplyInsets(ViewRootImpl.java:1670)
    E/AndroidRuntime(25562):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2083)
    E/AndroidRuntime(25562):    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1468)
    E/AndroidRuntime(25562):    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7208)
    E/AndroidRuntime(25562):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1004)
    E/AndroidRuntime(25562):    at android.view.Choreographer.doCallbacks(Choreographer.java:816)
    E/AndroidRuntime(25562):    at android.view.Choreographer.doFrame(Choreographer.java:751)
    E/AndroidRuntime(25562):    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:990)
    E/AndroidRuntime(25562):    at android.os.Handler.handleCallback(Handler.java:873)
    E/AndroidRuntime(25562):    at android.os.Handler.dispatchMessage(Handler.java:99)
    E/AndroidRuntime(25562):    at android.os.Looper.loop(Looper.java:193)
    E/AndroidRuntime(25562):    at android.app.ActivityThread.main(ActivityThread.java:6762)
    E/AndroidRuntime(25562):    at java.lang.reflect.Method.invoke(Native Method)
    E/AndroidRuntime(25562):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    E/AndroidRuntime(25562):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
我没有重写WindowInsets的任何方法,所以不要放置“在使用变量之前忘记初始化变量”之类的链接

我预计UnityActivity将关闭,MainActivity将以以前的状态重新启动

在使用Vuforia添加功能之前,代码运行良好


编辑:发现错误发生

我为自己修复了这个问题。我正在使用
mUnityPlayer.pause()
活动前
onPause()

例如,我需要处理服务消息并关闭UnityActivity,因此我需要:

switch(message) {
    ...
    case "stop-unity": 
       mUnityPlayerPause(); //Pause the unity before activities onPause()
       isFinish = true; //field of UnityActivity class
       UnityActivity.this.finish(); //Stop activity
       break;
}
现在在
onPause()
方法中需要检查的是
isPause
操作:

@Override 
void onPause() {
    if (!isFinish) mUnityPlayer.pause(); //Pause unity only when it's system call 
    super.onPause();
}

我帮我修好了。我正在使用
mUnityPlayer.pause()
活动前
onPause()

例如,我需要处理服务消息并关闭UnityActivity,因此我需要:

switch(message) {
    ...
    case "stop-unity": 
       mUnityPlayerPause(); //Pause the unity before activities onPause()
       isFinish = true; //field of UnityActivity class
       UnityActivity.this.finish(); //Stop activity
       break;
}
现在在
onPause()
方法中需要检查的是
isPause
操作:

@Override 
void onPause() {
    if (!isFinish) mUnityPlayer.pause(); //Pause unity only when it's system call 
    super.onPause();
}

我发现这次崩溃并不是将Unity活动嵌入Android,而是一个常用的Unity应用程序,带有
Application.Quit()时,可能会发生此崩溃

经过一些尝试,我发现这可能是一个统一的错误。Unity的LTS版本(Unity2018.4 LTS)的构建一切正常,而Unity 2018.3.1f1(64位)版本的构建导致了此崩溃


尝试使用统一版本!希望能帮助谷歌的任何人。

我发现这次崩溃不是将Unity活动嵌入Android,而是一个常用的Unity应用程序,带有
Application.Quit()时,可能会发生此崩溃

经过一些尝试,我发现这可能是一个统一的错误。Unity的LTS版本(Unity2018.4 LTS)的构建一切正常,而Unity 2018.3.1f1(64位)版本的构建导致了此崩溃

尝试使用统一版本!希望能帮助这里的谷歌用户