从unity c调用java方法#

时间:2013-05-31 10:39:04

标签: c# java android plugins unity3d

大家好,               任何人都可以告诉我如何从统一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";        
}

请帮忙。我卡住了。谢谢。

4 个答案:

答案 0 :(得分:0)

究竟什么“不起作用”?有例外吗?

检查你的java类是否有一个返回java对象的instance()方法:

public String Foo()
{
    return "Hello";        
}

public static MainActivity instance() {
    return new MainActivity();
}

答案 1 :(得分:0)

有几件事需要检查:

  1. 您是否已将您的插件活动声明为AndroidManifest.xml?
  2. 插件活动中是否有instance类属性(静态变量)?
  3. 如果上述两点没有帮助,您可以将Foo方法设为静态吗?
  4. 如果此解决方案仍无效,请告诉我。

答案 2 :(得分:0)

我在团结论坛上看到的类似问题。请查看问题并solution。它的工作。

答案 3 :(得分:0)

将函数“Foo”设为公共静态,如下所示

public static String Foo()
{
    return "Hello";        
}