最近项目在安卓平台要集成google play game services,如果调用Application.Quit()
。再次启动游戏时,有很大几率在任意时刻突然退出,并弹出”xxx已停止” 提示框。在github上搜了下属于gpg的bug,到现在貌似也没有修复。
Issues里给出了两个解决方法:
1.MoveTaskToBack 等同于home键,如果moveTaskToBack改为finish,等同于Application.Quit()
public static void MoveTaskToBack()
{
using (AndroidJavaClass javaClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
AndroidJavaObject unityActivity = javaClass.GetStatic<AndroidJavaObject>("currentActivity");
unityActivity.Call<bool>("moveTaskToBack", true);
}
}
2.CustomApplicationQuit 会先黑屏然后退出
public static void CustomApplicationQuit()
{
System.Diagnostics.ProcessThreadCollection pt = System.Diagnostics.Process.GetCurrentProcess().Threads;
foreach (System.Diagnostics.ProcessThread p in pt)
{
p.Dispose();
}
System.Diagnostics.Process.GetCurrentProcess().Kill();
}