打开网页流量的默认浏览器,我不知道往哪里放code [英] webview opens default browser, I don't know where to put code

查看:189
本文介绍了打开网页流量的默认浏览器,我不知道往哪里放code的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以,我一直在四处Googleing 4个小时,现在:(,我不能让网站只有在应用程序保持打开后你的用户名和密码后,点击页面键入日志的默认浏览器中打开。我学到的是,我应该使用: shouldOverrideUrlLoading()
但我不知道在哪里的地方,以及如何用它来。这是我的 MainActivity.java ,或在那里做什么我放在那里,从默认浏览器中打开停止。(忽略的 * 的)

 包com。示例*** *******角。进口android.os.Bundle;
进口android.app.Activity;
进口android.view.Menu;
进口android.webkit.WebView;公共类MainActivity延伸活动{    私人的WebView mWebView;    @覆盖
    公共无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);        mWebView =(的WebView)findViewById(R.id.webview);
        mWebView.getSettings()setJavaScriptEnabled(真)。
        mWebView.loadUrl(HTTP://www.*******.org/);
    }    @覆盖
    公共布尔onCreateOptionsMenu(菜单菜单){
        。getMenuInflater()膨胀(R.menu.activity_main,菜单);
        返回true;
    }
}


解决方案

您必须实现扩展WebViewClient类,并在那里将其覆盖。试试这个:

 公共类MainActivity延伸活动{    私人的WebView mWebView;    @覆盖
    公共无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);        mWebView =(的WebView)findViewById(R.id.webview);
        mWebView.getSettings()setJavaScriptEnabled(真)。
        webView.setWebViewClient(新MyWebViewClient());
        mWebView.loadUrl(HTTP://www.*******.org/);
    }    @覆盖
    公共布尔onCreateOptionsMenu(菜单菜单){
        。getMenuInflater()膨胀(R.menu.activity_main,菜单);
        返回true;
    }    私有类MyWebViewClient扩展WebViewClient {        @覆盖
        公共布尔shouldOverrideUrlLoading(的WebView视图,字符串URL){
            view.loadUrl(URL);
            返回false;
        }
    }
}

So, I've been Googleing around for 4 hours now :( and i cant get the website to only stay opened in the app. After you type in the username and password upon clicking log in the page opens in the default browser. What I learned is, I should use: shouldOverrideUrlLoading() but I don't know where place it and how to use it to. This is my MainActivity.java, where or what do I put in there to stop it from opening in the default browser.(ignore the *)

package com.example.***.*******c;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.webkit.WebView;

public class MainActivity extends Activity {

    private WebView mWebView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.loadUrl("http://www.*******.org/");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

解决方案

You have to implement a class that extends WebViewClient and override it in there. Try this:

public class MainActivity extends Activity {

    private WebView mWebView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new MyWebViewClient());
        mWebView.loadUrl("http://www.*******.org/");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    private class MyWebViewClient extends WebViewClient {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return false;
        }
    }
}

这篇关于打开网页流量的默认浏览器,我不知道往哪里放code的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆