今天有个人问了我一个问题,问题的大致内容是他想在安卓端打开一个网页链接。
因为我之前想过要做一个具有这个功能的应用,后来由于特殊原因就没做了。当时就简单的了解了一下,没怎么深入去研究。现在我就分享出来,也当作是自己的一个笔记吧,也方便以后忘了可以来回顾一下。
首先,我们需要先去下载一个插件UniWebView(这个版本是2.9.1版的)
链接:https://pan.baidu.com/s/1h8rs5jcorScS50sRUJ4jDg
提取码:p1sf
导入后应该会报几个错(也可能是因为版本问题,具体自己看吧。我用的unity版本为2018.4.24f1)
首先要自己添加两个脚本,内容如下:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OpenWeb : MonoBehaviour
{
public void MOpenWeb(string www)
{
if (www == null || www == "")
return;
#if UNITY_EDITOR
Application.OpenURL(www);
#elif UNITY_IOS || UNITY_
GameObject go = new GameObject();
var view = go.AddComponent<UniWebView>();
view.OnLoadComplete += OnLoadComplete;
view.url = www;
view.toolBarShow = true;
view.Load();
#else
Application.OpenURL(www);
#endif
}
private void OnLoadComplete(UniWebView webView, bool success, string errorMessage)
{
if (success)
{
webView.Show();
}
else
{
Debug.Log("Something wrong in webview loading: " + errorMessage);
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class OpenWebC : MonoBehaviour
{
public InputField _InputFueld;
public OpenWeb _OpenWeb;
public void OnClick_JumpBtn()
{
Debug.Log("OnClick_JumpBtn" + _InputFueld.text);
_OpenWeb.MOpenWeb(_InputFueld.text);
}
public void OnClick_Manniu()
{
Debug.Log("OnClick_Manniu");
_OpenWeb.MOpenWeb("http://www.manew.com/");
}
public void OnClick_Baidu()
{
Debug.Log("OnClick_Baidu");
_OpenWeb.MOpenWeb("https://www.baidu.com/");
}
public void OnClick_MyUrl()
{
Debug.Log("OnClick_Baidu");
_OpenWeb.MOpenWeb("https://www.bilibili.com/?spm_id_from=333.337.b_696e7465726e6174696f6e616c486561646572.1");
}
}
下面这个脚本是用来实现跳转的,前面那个脚本必须有。
然后就是里面需要修改的地方如下:
嗯,,这里的把原来的返回值改成返回0是我自己随便写的一个返回值(因为我所需要的是安卓端的打开网页,而不是iOS端,所以我就随便给了一个值)。好的这样子弄完之后就没问题了,如果还是没看懂的话,可以去打开我的案例参考一下。
如有不对的地方,欢迎大佬指正!