2014-10-18 4 views
1

그래서이 문제는 문자 그대로 며칠 동안 지속되었습니다. 이클립스 IDE와 Unity를 통합 했으므로 프로젝트를 완벽하게 구축하고 배포 할 수 있습니다. 그러나, 자바 측면에 대한 기본 인 텐트를 시작하고 Unity/C# 측에서 트리거하려고합니다. 여기 C#/Unity에서 외부 Android 앱 실행

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); 

    } 
} 

는 C#을 트리거가 충돌 할 때 로그 캣에 의해 던져지고 오류 메신저입니다 :

를 그리고 여기 경우의 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"); 
} 

는 로그 캣에 의해 던져지고 오류 메신저입니다 :

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

나는 C# 스크립트에서 트리거 메서드 이름과 함께 사용자 지정 서명 passong으로 주위를 망쳐 봤는데, 필자는 표준 UnityPlayerActivity 등을 확장하려고 시도했습니다. 나는 몇 시간의 노력을했습니다. 나는 보이지 않습니다. 문제를 해결하십시오.

도움이 될 것입니다.

+0

사람이 같은 일을 해보고 싶었어요? 정말 도움이 필요해! – Jack

답변

0

활동을 만들었습니까? 활동을 실제로 확장해야합니까?

자바 :

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") 시도하지만 자바 엔진은 두 번째 var가 메소드의 서명에 사용된다고 생각한다. – Jack