【发布时间】:2012-06-06 12:44:51
【问题描述】:
我正在使用 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吗?您的问题不是很清楚,并且您的部分代码丢失了
-
我解决了兄弟,这就是我想要的 myArray[0].l = AndroidJNI.NewStringUTF(credentials);
标签: c# unity3d java-native-interface