• 【转】 android WebView使用cmwap无法联网解决办法


    2011-01-19 11:31
    转载自 rslhg
    最终编辑 pengwenfu2009

     android 在cmwap等代理接入点下的一些经验分享

    文/rslhg


    1.某些Rom在wifi环境下取代理依然会取到cmwap设置的代理值,所以取代理时判断一下手机网络环境,如果是gprs上网,则不取代理。
    ConnectivityManager connectivityManager = (ConnectivityManager) context
                        .getSystemService(Context.CONNECTIVITY_SERVICE);
                NetworkInfo activeNetworkInfo = connectivityManager
                        .getActiveNetworkInfo();
                if (activeNetworkInfo != null) {
                    int type = activeNetworkInfo.getType();

                    // TODO 防止wifi下读取移动的代理
                    if (type == ConnectivityManager.TYPE_MOBILE) {
                          //取代理
                           }else{
                      //不取代理
                    }
                  }

    2. 某些rom的webkit在cmwap下,webkit连接不上或是时断时连,需要在onResume()添加 WebView.enablePlatformNotifications();,onStop添加 WebView.disablePlatformNotifications();。但是此时如果你需要刚进入这个activity就load页面,第一次进入时load的第一个页面是load不出来的,会停留很久并且不出错误页面,不调用WebViewClient.onReceivedError。个人试过setHttpAuthUsernamePassword也不好使。
    个人解决方案:

        mWebPage.post(new Runnable(){
                @Override
                public void run() {
                    mWebPage.loadUrl(url);
                    
                }
                
            });

    此时第一此load页面会很快调用WebViewClient.onReceivedError,你再在WebViewClient.onReceivedError里面设置标志,重新载入第一个页面即可。

  • 相关阅读:
    LeetCode 560 和为 K 的子数组
    idea使用技巧汇总
    【Kafka核心技术与实战】导读
    如何永久关闭 Mybase8 登录弹窗(license提醒)
    分析Edk2启动流程
    OEE计算
    线段树分治学习笔记
    linux 安装PostgreSql 12[转]
    Linux中redis数据备份和迁移【转】
    DataGrid控件自动显示行号
  • 原文地址:https://www.cnblogs.com/xiaoxiaoboke/p/2110219.html
Copyright © 2020-2023  润新知