I know this seems to be a trivial question but I could not find any concrete answer anywhere on the internet. I saw this very similar question on stackoverflow: How to start Uni
I am not very familiar with Unity, but have a fair amount of Android experience. So take my answer as a suggestion rather than an authoritative answer.
Looking at the Launching an Android application from within Unity, you could try the following:
Follow the Guide on Integrating Unity with Eclipse.
Modify the Java file created in Step 1 as below:
package com.Unity3D.EclipseIntegration;
import android.os.Bundle;
import com.unity3d.player.UnityPlayerActivity;
public class EclipseIntegration extends UnityPlayerActivity {
private 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 Launch()
{
startActivity(myIntent);
}
}
and modify your Unity code:
private void ExternalAppCallHandler()
{
if(Application.platform == RuntimePlatform.WindowsEditor)
{
Process.Start(@"C:\Program Files (x86)\Notepad++\notepad++.exe");
}
else if(Application.platform == RuntimePlatform.Android)
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.Call("Launch");
}
}
In case you are facing any problems, please post the LogCat messages.
try this Change this Launch() method to static and pass Android java object ie. "jo" to it like below.
AndroidJavaClass androidJC = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo= androidJC.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaClass jc = new AndroidJavaClass("package_name.Ur_Actvity_Name");
jc.CallStatic("Launch",jo);`
and change Launch() method to :
public static Launch(Activity activity)
{
Intent myIntent = new Intent();
activity.startActivity(myIntent);
}
Hope it will help.