我在Android Studio中创建一个Android库并导出一个jar文件。我在库中创建了2个类。一个SimpleClass
秒是PlayerClass
。
首先,我尝试了下面的代码,成功调用了该方法。
JAVA
package a.b.c.simplelibrary;
public class SimpleClass{
public static String CallNumber(int nums){
return "Number is " + nums;
}
}
在Unity C#
中public Text SimpleText;
public void CallNow(){
AndroidJavaObject jo = new AndroidJavaObject ("a.b.c.simplelibrary.SimpleClass");
SimpleText.text = jo.CallStatic<string>("CallNumber",123);
}
然后我在 JAVA 中添加extends PlayerClass
,当我在Unity中调用CallNow()
时,它不再返回该值。
package a.b.c.simplelibrary;
public class SimpleClass extends PlayerClass{
public static String CallNumber(int nums){
return "Number is " + nums;
}
}
答案 0 :(得分:-1)
我使用下面的函数来调用位于FlurryAgent类中的flurry“onStartSession”函数。试试这个,也可能适合你。
private AndroidJavaClass cls_FlurryAgent = new AndroidJavaClass("com.flurry.android.FlurryAgent");
public void onStartSession(string apiKey)
{
Debug.Log ("****** onStartSession " +apiKey);
using(AndroidJavaClass cls_UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
using(AndroidJavaObject obj_Activity = cls_UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity"))
{
cls_FlurryAgent.CallStatic("onStartSession", obj_Activity, apiKey);
}
}
}