Hace poco comencé a programar y aún no tengo suficiente experiencia, así que les pido que me ayuden...
Yo uso Unity 2020, y me surgio la tarea de abrir juegos que estan en el telefono, por ejemplo, una galeria y otras aplicaciones que estan en el telefono (no para abrir un link en internet, sino una aplicacion en el telefono), yo tengo un código que hace posible controlar, por ejemplo, un navegador ubicado en la escena, mientras todo esto sucede en mi aplicación, pero igual quería saber si esto es posible, solo que no con las páginas en Internet, sino con las propias aplicaciones en el smartphone... ¡Gracias de antemano!
ok, para iniciar la aplicación de la cámara solo puedes usar C#:
static int REQUEST_IMAGE_CAPTURE = 1; public void StartPlugin() { AndroidJavaClass IntentClass = new AndroidJavaClass("android.content.Intent"); AndroidJavaObject IntentObject = new AndroidJavaObject("android.content.Intent"); AndroidJavaObject MSObject = new AndroidJavaObject("android.provider.MediaStore"); IntentObject.Call<AndroidJavaObject>("setAction", MSObject.GetStatic<string>("ACTION_IMAGE_CAPTURE")); AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity"); currentActivity.Call("startActivityForResult", IntentObject, REQUEST_IMAGE_CAPTURE); }y para iniciar una aplicación como viber, youtube, puede usar este código:
private string package = "com.viber.voip"; public void Launch() { AndroidJavaClass activityClass; AndroidJavaObject activity, packageManager; AndroidJavaObject launch; activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); activity = activityClass.GetStatic<AndroidJavaObject>("currentActivity"); packageManager = activity.Call<AndroidJavaObject>("getPackageManager"); launch = packageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage", package); activity.Call("startActivity", launch); } la variable del package es la identificación de la aplicación que tenga un buen día!!! =)
Para algunas aplicaciones (como YouTube, Facebook) puedes usar
Application.OpenURL("http://unity3d.com/");
pero esto solo funciona si conoce el enlace de la aplicación, para las redes sociales puede probar los enlaces hasta que encuentre uno que abra la aplicación.
No intenté hacer esto con otras aplicaciones, pero si puede obtener la URL de la aplicación (no es muy difícil), debería poder hacerlo.