今天遇到一个奇怪的问题,使用Application.Quit()退出自己的游戏时候无法退出,有一个黑屏在保留。
最后发现:自己自定义了一个插件如下:
![](https://img.haomeiwen.com/i7693425/b283a5ce5f24742a.png)
自己写了一个 *.aar的安卓插件 放到安卓的Plugins下。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.lenzetec.unityandroidplugindemo">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<activity android:name="com.lenzetec.unityandroidplugindemo.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
</application>
</manifest>
xml中代码文件如下:启动的主要Activity是
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<activity android:name="com.lenzetec.unityandroidplugindemo.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
</application>
因此 我们写的插件是第一个打开的Activity,UnityPlayActivity是第二个启动的Activity
在Unity中使用Application.Quit 退出只是关闭UnityPlayActivity
自己写的插件中的Activiy仍在运行。
因此,退出时候需要在自己写的插件Activity也进行关闭。
在退出UnityActivity的时候也关闭自己:
自己插件中的java代码:
//给Unity中发消息 退出Unity的栈
UnityPlayer.UnitySendMessage( "ReceiveMessageFromAndroid","CloseUnityActivity",PackageName);
//退出插件的栈
System.exit( 0 );
网友评论