2013-05-31 90 views
0

大家好, 誰能告訴我如何從統一的c#調用java方法。 我試過以下,但它不適合我。從統一調用java方法c#

在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";   
} 

請help.I是提前stuck.Thanks。

回答

0

究竟是什麼「不工作」?是否有例外?

檢查你的Java類有返回Java對象的實例()方法:

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

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

有進行檢查幾件事情:

  1. 你宣佈AndroidManifest插件活動。 XML?
  2. 插件活動中是否有instance類屬性(靜態變量)?
  3. 如果以上兩點不起作用,您可以使Foo方法爲靜態嗎?

讓我知道如果這個解決方案仍然無法正常工作。

0

我在統一論壇上看到了類似的問題。請看看這個問題,solution。它的工作。

0

使函數「foo」的公共靜態如下

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