开发者社区 问答 正文

请问mPaaS加载h5有遇到这种情况的呢?

7543a5cf4eeb59ca8299119c3f83e413.jpg 请问mPaaS加载h5有遇到这种情况的呢?

展开
收起
真的很搞笑 2023-03-29 00:10:48 314 分享 版权
1 条回答
写回答
取消 提交回答
  • 可能由于第三方的 Scheme 在手机上没有对应的 App,导致打开 URL 的时候客户端出现错误信息:ERR_UNKNOWN_URL_SCHEME。排查的过程如下:

    1.过滤日志。在 Android Studio 控制台的日志信息中过滤关键字 onReceived。查看日志中是否有 ERR_UNKNOWN_URL_SCHEME 信息。 image.png

    1. 若日志中不包含 ERR_UNKNOWN_URL_SCHEME,请加入钉钉答疑群 41708565 咨询。若日志中包含 ERR_UNKNOWN_URL_SCHEME,则需按下面的操作步骤实现 public interface H5SchemeInterceptProvider,在 handlerOnScheme 中处理网页端的 Scheme 请求即可解决该问题。 在 H5SchemeInterceptProvider 的实现类中创建 handlerOnScheme 方法处理网页端的 Scheme。
    public class H5SchemeInterceptProviderImpl implements H5SchemeInterceptProvider {
    @Override
    //请在如下方法里面处理scheme的跳转
    public boolean handlerOnScheme(String s, H5Page h5Page) {
    //返回true表示拦截不走scheme,false表示不拦截
     return true;
    }
    }
    

    在 mPaaS 初始化完成以后设置 Provider。

     // mPaaS 初始化回调设置。
     QuinoxlessFramework.setup(this, new IInitCallback() {
         @Override
         public void onPostInit() {
             // 此回调表示 mPaaS 已经初始化完成,mPaaS 相关调用可在这个回调里进行。
            H5Utils.setProvider(H5SchemeInterceptProvider.class.getName(), new H5SchemeInterceptProviderImpl());
         }
     });
    

    如果依然不能解决该问题,请准备好相关问题的复现 Demo 工程,加入钉钉答疑群 41708565 咨询。

    2023-03-29 00:56:01
    赞同 展开评论