Java 在C#/Unity中启动外部android应用程序

Java 在C#/Unity中启动外部android应用程序,java,c#,android,unity3d,Java,C#,Android,Unity3d,所以我已经在这个问题上纠缠了好几天了。我将Unity与EclipseIDE集成在一起,可以完美地构建和部署项目。然而,我试图在java端启动一个基本意图,并在Unity/C端触发它 以下是我在Java方面的代码: import android.content.Intent; import android.net.Uri; import android.os.Bundle; import com.unity3d.player.UnityPlayerNativeActivity; public

所以我已经在这个问题上纠缠了好几天了。我将Unity与EclipseIDE集成在一起,可以完美地构建和部署项目。然而,我试图在java端启动一个基本意图,并在Unity/C端触发它

以下是我在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);

    }
}
下面是当触发C#触发器时,logcat抛出的错误:

AndroidJavaException: java.lang.NoSuchMethodError: no method with name='Trigger' signature='()V' in class Lcom/unity3d/player/UnityPlayerNativeActivity;
下面是我对if的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");
}
我尝试过在C#script中传递一个自定义签名和触发器方法名,我尝试过扩展标准UnityPlayerPractivity,等等。。。我试了好几个小时的东西,但似乎解决不了这个问题


任何帮助都会被接受

您确定您的活动已创建吗?你真的需要延长活动吗?我想试试这样的东西:

爪哇:

C#:


任何人真的需要帮助!如何将变量传递给方法?我尝试了,(method,“mystring”),但java引擎认为第二个var用于该方法的签名。。
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);
    }
}
AndroidJavaObject jo = new AndroidJavaObject("my.package.AppLauncher");
jo.CallStatic("Trigger");