大家好, 任何人都可以告诉我如何从统一c#调用java方法。 我试过以下但是它不适合我。
在Unity中:
void OnGUI () {
string somestring;
AndroidJavaClass jc= new AndroidJavaClass("com.example.pluginsample.MainActivity");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("instance");
somestring = jo.Call<string>("Foo");
GUI.Label (new Rect (20, 20, 100, 20), somestring);
}
在Java类中:
public String Foo()
{
return "Hello";
}
请帮忙。我卡住了。谢谢。
答案 0 :(得分:0)
究竟什么“不起作用”?有例外吗?
检查你的java类是否有一个返回java对象的instance()方法:
public String Foo()
{
return "Hello";
}
public static MainActivity instance() {
return new MainActivity();
}
答案 1 :(得分:0)
有几件事需要检查:
instance
类属性(静态变量)?Foo
方法设为静态吗? 如果此解决方案仍无效,请告诉我。
答案 2 :(得分:0)
我在团结论坛上看到的类似问题。请查看问题并solution。它的工作。
答案 3 :(得分:0)
将函数“Foo”设为公共静态,如下所示
public static String Foo()
{
return "Hello";
}