Речи идет об альтернативе использования метода Application.OpenURL(), который позволяет открыть в предложенном браузере выбранный URL.
Мне нужно запускать КОНКРЕТНОЕ приложение на устройстве и передать ему заданное значение URL, страница с которым должна быть открыта в этом приложении.
В качестве примера можно использовать приложение магазина "Google Маркет", которое я хочу открыть, используя URL со страницей моей игры (см. ниже).
Скажите, как нужно изменить код, чтобы появилась возможность передать URL в качестве параметра для вызываемого приложения?
Синтаксис:
Используется csharp
private void OpenCustomAppWithGivenURL()
{
string bundleID = "com.google.android.gms";
string myAppURL = "https://play.google.com/store/apps/details?id=com.mycompany.myapp";
AndroidJavaClass up = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject ca = up.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject packageManager = ca.Call<AndroidJavaObject>("getPackageManager");
AndroidJavaObject launchIntent = null;
try
{
launchIntent = packageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage",bundleID);
if(launchIntent != null)
ca.Call("startActivity", launchIntent);
}
catch(Exception ex)
{
UnityEngine.Debug.Log("exception"+ex.Message);
}
}
{
string bundleID = "com.google.android.gms";
string myAppURL = "https://play.google.com/store/apps/details?id=com.mycompany.myapp";
AndroidJavaClass up = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject ca = up.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject packageManager = ca.Call<AndroidJavaObject>("getPackageManager");
AndroidJavaObject launchIntent = null;
try
{
launchIntent = packageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage",bundleID);
if(launchIntent != null)
ca.Call("startActivity", launchIntent);
}
catch(Exception ex)
{
UnityEngine.Debug.Log("exception"+ex.Message);
}
}