青山*锦城 2023-11-13 17:07 采纳率: 0%
浏览 5

UniWebView打开链接报错

Unity开发Android应用。UniWebView插件在Android环境中,能成功打开设定的网址,比如http和https格式的;但是打开网址中的链接,就会报错——err_unknown_url_scheme。

WebView解决同样的问题的方法是通过重写 WebViewClient 的 shouldOverrideUrlLoading 函数 , 请问UniWebView怎么解决该问题?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-13 18:12
    关注

    【以下回答由 GPT 生成】

    UniWebView在Android环境中打开链接时报错"err_unknown_url_scheme"的问题通常是由于Android系统无法识别链接的协议导致的。为了解决这个问题,可以尝试以下解决方案:

    1. 确保已在AndroidManifest.xml文件中注册相应的协议:

    <application>标签中添加以下代码:

    xml <intent-filter> <data android:scheme="http" /> <data android:scheme="https" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>

    这将确保Android系统能够识别并处理http和https协议。

    1. 在UniWebView中添加prompt来处理未知协议:

    UniWebView提供了一个名为onReceivedMessage的回调函数,用于处理来自网页的消息。你可以在该回调函数中检查错误类型,并根据需要处理。

    在你创建UniWebView的代码处添加以下代码:

    csharp uniWebView.OnReceivedMessage += (view, message) => { if (message.Path == "onWebContentProcessDidTerminate") { // 处理Web内容进程终止的情况 // 可以重新加载UniWebView来解决问题 uniWebView.Reload(); } else if (message.Path == "onUnknownUrlScheme") { // 处理未知URL协议的情况 // 可以使用intent来打开该链接 AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent"); AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent", intentClass.GetStatic<string>("ACTION_VIEW"), AndroidUri.Parse(message.QueryString)); AndroidJavaClass unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject currentActivityObject = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity"); currentActivityObject.Call("startActivity", intentObject); } };

    以上代码将在收到未知URL协议的消息时,通过intent打开该链接。

    请注意,以上代码中的变量uniWebView是你创建UniWebView实例的变量名,需要根据你的代码进行相应的替换。

    这些解决方案应该可以帮助你解决UniWebView在Android环境中打开链接报错"err_unknown_url_scheme"的问题。如果还有其它问题,请随时提问。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 修改了问题 11月13日
  • 创建了问题 11月13日

悬赏问题

  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 正弦信号发生器串并联电路电阻无法保持同步怎么办
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 个人网站被恶意大量访问,怎么办
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)