美文网首页
android兼容性问题汇总

android兼容性问题汇总

作者: kkgo | 来源:发表于2017-04-18 10:07 被阅读0次

    1、webview 当在H5中通过schema跳转时,如果当前系统中不存在接收该schema的意图,将会导致crash,需要 try catch

    public boolean shouldOverrideUrlLoading(WebView view, String url)

    {

    if(!url.startsWith("http:") && !url.startsWith("https:"))

    {

    try

    {

    Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(url));

    view.getContext().startActivity(intent);

    }catch(Exception e)

    {

    }

    return true;

    } else

    {

    if(this.overideUrlCallBack != null)

    {

    this.overideUrlCallBack.onCallBack(view, url);

    }

    return false;

    }

    }

    2、魅族手机5.1,;5.1.1;6.0版本调起支付的时候会启动安全模式导致 跳转成功页失败,在此延迟1秒,等待系统关闭安全模式然后再跳转

    if(DeviceUtils.isMeizuFlymeOS() && ("22".equals(DeviceUtils.getAndroidVersion()) || "23".equals(DeviceUtils.getAndroidVersion())  ))

    {

    handler.postDelayed(new Runnable()

    {

    @Override

    public void run()

    {

    goToSuccessPage();

    }

    },1000);

    }else

    {

    goToSuccessPage();

    }

    3、webview 当android  level 大于15时,会限制js执行脚本的大小,当前将targetVersion设置为15 无此限制

    4、自定义控件,当前android level小于16时,默认的背景颜色是黑色的,所以需要设置背景颜色,大于16默认是透明的。API16以下,View中是没有setBackground方法的,只有setBackgroundDrawable方法

    5、viewPage + Fragment 布局,自定义控件偶现绘制失败,出现空白区域。解决方案: mViewPager.setOffscreenPageLimit(4);

    6、webview 或 普通网络请求走https协议时,个别机型出现证书校验失败,原因是手机出厂的根证书有问题。当前webview的做法是放过,普通网络请求未处理。另一个方案是:当系统证书校验失败时,走ip直连校验自定义证书。

    相关文章

      网友评论

          本文标题:android兼容性问题汇总

          本文链接:https://www.haomeiwen.com/subject/qulfzttx.html