gpt4 book ai didi

java - unity调用android java类的静态函数

转载 作者:太空宇宙 更新时间:2023-11-04 11:54:30 26 4
gpt4 key购买 nike

嗨,我想将这段 android java 代码与 c# 统一称为 java 代码:

SmsDialog.getInstance().init(this);
//this is context of android activity

现在我在我的 C# 代码中这样做:

void ShowPaymentDialog()
{

AndroidJavaClass smsDialog = new AndroidJavaClass("com.mobagym.testsdkmobagym.SmsDialog");
smsDialog.CallStatic<AndroidJavaObject>("getInstance").Call("init",getContext());
}
AndroidJavaObject getContext()
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
return jo;
}

没有崩溃或任何问题,只是游戏停止并且在 ShowPaymentDialog 之后不执行行。

void Start () 
{
ShowPaymentDialog();
GoogleAnalyticsV4.getInstance().LogScreen(MyMenuManager.SPLASH_SCREEN);
StartCoroutine(Next());
}
IEnumerator Next()
{
yield return new WaitForSeconds(duration);
SceneManager.LoadScene(MyMenuManager.MAIN_MENU);
}

所以我想知道我是否使用 C# 语法做错了。以及是否有任何方法可以记录这一点。

最佳答案

您应该尝试记录您提到的错误。尝试设置一个 try catch block 。

Try {
//do some logic
} catch (Exception e){
//Log exception
}

检查此链接: https://docs.unity3d.com/ScriptReference/Debug.LogException.html

也许当您的堆栈跟踪有确切错误时,我们可以提供更多帮助。

关于java - unity调用android java类的静态函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41488674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com