gpt4 book ai didi

c# - 统一使用 JNI AndroidJNI.GetMethodID 和字符串参数

转载 作者:太空狗 更新时间:2023-10-29 23:33:19 31 4
gpt4 key购买 nike

我正在使用 android java 插件进行统一工作我试图从 java 统一调用函数并且它成功运行。

        cls_Activity = AndroidJNI.FindClass("com/unity3d/player/UnityPlayer");
fid_Activity = AndroidJNI.GetStaticFieldID(cls_Activity, "currentActivity", "Landroid/app/Activity;");

obj_Activity = AndroidJNI.GetStaticObjectField(cls_Activity, fid_Activity);
kdataActivityClass = AndroidJNI.FindClass("com/kdata/unitytest/UnityUrlPlugin");
startAdsMethod = AndroidJNI.GetMethodID(kdataActivityClass,"getURL","(I)Ljava/lang/String;");

jvalue[] myArray = new jvalue[1];
myArray[0].i =testvalue;
gui.text= AndroidJNI.CallStaticStringMethod(obj_Activity, startAdsMethod, myArray);

使用上面的代码,我可以将 int 值传递给我的 java 函数并接收 string 值。当我尝试传递一个字符串值时,它对我不起作用。问题出在这里,因为JNI中没有字符串类型

jvalue[] myArray = new jvalue[1];
myArray[0].i =testvalue;

最佳答案

您要查找的数据类型是 jstring,在 JNI 中,您可以使用 newStringnewStringUTF

创建它

关于c# - 统一使用 JNI AndroidJNI.GetMethodID 和字符串参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10914479/

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