Unity打包出來的App 跳轉其餘 App

void Start()//在android測試成功
{
    bool fail = false;
    string bundleId = "跳轉的包名";//包名稱
    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);
        Debug.Log("沒Try到");
    }
    catch (System.Exception e)
    {
        fail = true;    // 應用未安裝
        Debug.LogError(e);
    }

    if (fail)
    {
        //跳轉應用下載地址  測試過兩次這裏沒用
        Application.OpenURL("網站下載連接");
        Debug.Log("跳轉");
    }
    else
    {
        try
        {
            ca.Call("startActivity", launchIntent);
        }
        catch (System.Exception e)
        {
            Application.OpenURL("網站下載連接");//會跳轉
            Debug.Log("捕獲異常");
            throw e;
        }
    }
    up.Dispose();
    ca.Dispose();
    packageManager.Dispose();
    launchIntent.Dispose();
}
相關文章
相關標籤/搜索