onLocationChanged вызывается дважды - PullRequest
0 голосов
/ 06 марта 2012

Я загружаю childbrowser в свое приложение, и когда я нажимаю на ссылку, onLocationChange вызывается дважды. Любые предложения о том, почему это происходит?

код javascrpt

function openAppTerms() {
        var options = {
            'showLocationBar' : true,
            'pageDesc':'Application Terms'
    };
        window.plugins.childBrowser.onLocationChange=function(newurl){

            if(newurl == "no") {
            } 
            else if(newurl.indexOf("mailto")>=0 ){
                var succcallback = function(result) {
                    //alert("Mail sent");
                    window.plugins.childBrowser.close();
                };
                var errorcallback = function(e) {
                    //alert("error:" + e);
                    window.plugins.childBrowser.close();
                };
                window.plugins.webintent.sendEmail({
                    mailSubject   : 'CPS Mobile App',
                    mailRecepients: 'UnisysPrivacyOffice@Unisys.com',
                    //mailBody: href1
                    mailBody: ' '
                }, succcallback, errorcallback);
                window.plugins.childBrowser.close();
            }
            else {
                alert(newurl);
            }
        };
    window.plugins.childBrowser.showStaticPage("app_terms.html",options);

}

и код Java:

@Override
        public void onPageStarted(WebView view, String url,  Bitmap favicon) {
            super.onPageStarted(view, url, favicon);            
            String newloc;
            if (url.startsWith("http:") || url.startsWith("https:") || url.startsWith("mailto:")) {
                newloc = url;
            }
            else
            {   newloc = "no";}


            try {
                JSONObject obj = new JSONObject();
                obj.put("type", LOCATION_CHANGED_EVENT);
                obj.put("location", newloc);

                sendUpdate(obj, true);

            } catch (JSONException e) {
                Log.d("ChildBrowser", "This should never happen");
            }
        }

1 Ответ

0 голосов
/ 06 марта 2012

Я считаю, что super.onPageStarted (view, url, favicon); является причиной этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...