私はAndroidJavaプラグインでユニティに取り組んでいます。ユニティで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;