2014-10-18 92 views
1

因此,我一直堅持這個問題的字面天。我已經將Eclipse與IDE集成在一起,我可以完美地構建和部署項目。但是,即時通訊嘗試在java端啓動一個基本的Intent,並在Unity/C#端觸發它。在C#/ Unity中啓動外部Android應用程序

這裏是我的Java端代碼:

import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 

import com.unity3d.player.UnityPlayerNativeActivity; 

public class AppLauncher extends UnityPlayerNativeActivity 
{ 

    public Intent myIntent; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     //Assuming that we want to launch the browser to browse a website 
     Uri uri = Uri.parse("http://www.google.com"); 
     myIntent= new Intent(Intent.ACTION_VIEW, uri); 
    } 

    public void Trigger() 
    {  
     startActivity(myIntent); 

    } 
} 

這裏的錯誤IM通過logcat中得到拋出時,C#觸發被擊中:

這是我的了,如果它的C#端代碼:

if(s[0].Equals("Spr")) 
{ 
    print("Launched"); 
    AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); 
    AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity"); 
    jo.Call("Trigger"); 
} 

這裏的錯誤IM通過logcat中得到拋出時,C#觸發被擊中:

AndroidJavaException: java.lang.NoSuchMethodError: no method with name='Trigger' signature='()V' in class Lcom/unity3d/player/UnityPlayerNativeActivity; 

我已經嘗試了通過passong自定義簽名以及在C#腳本中的觸發器方法名稱,我嘗試過擴展標準的UnityPlayerActivity,等等......我已經嘗試了幾個小時的東西,我似乎無法解決這個問題。

任何幫助被大大接受!

+0

有人嗎?真的需要幫助! – Jack 2014-10-19 04:19:05

回答

0

您確定您的活動已創建嗎?你真的需要延長活動嗎?我想嘗試這樣的事:

的Java:

package my.package; 

import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 

public class AppLauncher 
{ 
    public static void Trigger() 
    {  
     //Assuming that we want to launch the browser to browse a website 
     Uri uri = Uri.parse("http://www.google.com"); 
     Intent myIntent= new Intent(Intent.ACTION_VIEW, uri); 
     startActivity(myIntent); 
    } 
} 

C#:

AndroidJavaObject jo = new AndroidJavaObject("my.package.AppLauncher"); 
jo.CallStatic("Trigger"); 
+0

我將如何將變量傳遞給該方法?我嘗試,(方法,「mystring」),但Java引擎認爲第二個var用於方法的簽名.. – Jack 2014-10-21 18:45:09

相關問題