Я работаю над Unity с плагином Java для Android. Я пытался вызвать функцию из Java в Unity, и это сработало успешно.
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;