• phonegap中http链接自动调用本地浏览器解决办法


    首先,个人觉得phonegap这样的设计是合理的,当你使用基于phonegap的应用程序,虽然用的是html+js,但是开发的却是本地应用了,所以在本地应用中遇到http协议的链接调用浏览器打开是合理的。

    只是这种合理带来了不方便,尤其当你只用phonegap做一个壳,去浏览移动设备的网站时。使用jquerymobile可以解决这个问题,jqm会将本域内的http请求使用ajax传输,得到的结果再放入DOM中,个人推荐使用jqm的这种方式,处理灵活。

    下面给一个一劳永逸的方式,网上目前我还没有搜到这种方式。

     下面是类似官方的示例,其中phonegap我用的是apache的cordova


    import android.os.Bundle;
    import org.apache.cordova.*;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;

    public class WebViewer extends DroidGap{
        @Override
        public void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            super.loadUrl("http://demo.wanban.cc/w3g");
        }
    }  

    在上面的基础上进行修改,将phonegap的webViewClient对象重新赋值一个新对象,并在新对象中重写shouldOverrideUrlLoading方法。


    import android.os.Bundle;
    import org.apache.cordova.*;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;

    public class WebViewer extends DroidGap{
        @Override
        public void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            super.loadUrl("http://demo.wanban.cc/w3g");

            super.webViewClient=new WebViewClient(){
                public boolean shouldOverrideUrlLoading(WebView view, String url){
                    view.loadUrl(url);
                    return true;
                }
            };
        }
    }
  • 相关阅读:
    SDN第二次作业
    事后诸葛亮
    SDN第一次上机作业
    个人作业——软件产品案例分析
    SDN第一次作业
    Alpha冲刺总结报告
    Alpha冲刺Day10
    Alpha冲刺Day9
    Alpha冲刺Day8
    Alpha冲刺Day7
  • 原文地址:https://www.cnblogs.com/hashtag/p/2429665.html
Copyright © 2020-2023  润新知