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();
}
posted @   Aaron丶Han  阅读(738)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示