admin 管理员组文章数量: 887021
欢迎加入Unity业内qq交流群:956187480
qq扫描二维码加群
之前的项目,临时接到一个需求需要调用本地浏览器。好在之前的unity-Android交互框架已经搭建完善,所以这个功能上手容易。unity-androoid交互不懂得 可以看之前的博客记录。
安卓端:
在Android中可以调用自带的浏览器,或者指定一个浏览器来打开一个链接。只需要传入一个uri地址。
1.启动android默认浏览器
在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器。如果手机本身安装了多个浏览器而又没有设置默认浏览器的话,系统将让用户选择使用哪个浏览器来打开连接。
参数是unity端传过来的url地址,return的是给到unity的日志
public String OpenBrowser(String url){
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
return "打开浏览器成功";
}
2.启动指定浏览器打开
在Android程序中我们可以通过发送显式Intent来启动指定的浏览器。例如我手机安装了多个浏览器:QQ浏览器、chrome浏览器、uc浏览器。我可以指定用某个浏览器打开这个链接。例如打开QQ浏览器如下代码,用uc浏览器打开只需要把打开qq浏览器那行代码注释掉,然后打开uc浏览器那行代码取消注视就行。
public String OpenBrowser(String url){
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
//intent.setClassName("com.UCMobile","com.uc.browser.InnerUCMobile");//打开UC浏览器
intent.setClassName("com.tencent.mtt","com.tencent.mtt.MainActivity");//打开QQ浏览器
startActivity(intent);
return "打开浏览器成功";
}
Unity端:
unity端就比较简单了,直接上代码。
public AndroidJavaObject jo;
-----------------------------------------------------
#if UNITY_ANDROID
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
#elif UNITY_IOS
Debug.Log("***********当前为ios环境************");
#endif
-----------------------------------------------------
public void OpenBrowser(string url)
{
var tips = jo.Call<string>("OpenBrowser", url);
Debug.Log(tips);
Debug.Log("打开浏览器:"+ url);
}
欢迎加入Unity业内qq交流群:956187480
qq扫描二维码加群
版权声明:本文标题:Unity 调用打开默认浏览器(安卓) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726854316h1040046.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论