今天做Android端版本更新时,点击“立即更新”按钮后需要跳转链接,并且将APP退出,但是发现 Application.Quit();这句代码执行的时候会报错。这是因为项目中涉及到Unity 与 Android 的交互,在Android代码中,创建Activity时开启了服务,所以在退出APP时,应该将Android端额Activity关闭。
所以在Android端加入以下代码
public void ExitGame() {
MainActivity.this.finish();
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
}
Unity中在退出APP时调用即可
toUpdateBtn.onClick.AddListener(delegate
{
if(updateAPPUrl!="")
{
Application.OpenURL(updateAPPUrl);
updateToast.SetActive(false);
#if UNITY_ANDROID && !UNITY_EDITOR
jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.Call("ExitGame");
#endif
Application.Quit();
}
});