在浏览器中登录WebView重新登录

时间:2013-09-03 08:42:30

标签: java android browser android-webview

我正在创建一个显示论坛页面的简单webview应用程序。当然论坛页面要求登录或注册,但当我点击那里并尝试登录时,应用程序要求我在首选浏览器登录后继续..我不想这样做但我想继续我的应用。有办法吗?如果需要,该论坛将在proboards.com中托管。申请代码非常简单。

MainActivity.java

public class MainActivity extends Activity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        webView = (WebView) findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("http://www.website.com");

    }

}

1 个答案:

答案 0 :(得分:2)

我不太确定你想要什么。 如果这是你想要的,请告诉我。

当您使用webviews时,如果您希望在一个特定的网站上webview,而不是让任何网页在浏览器中打开,而是webview本身,那么您可以做到以下几点:

在您的情况下,网站名称是

  

http://www.website.com

所以代码应该是:

            webView.loadUrl("http://www.website.com");
            WebSettings webSettings = webView.getSettings();
            webSettings.setJavaScriptEnabled(true);
            webView.setWebViewClient(new WebViewClient(){
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    try {
                      URL urlObj = new URL(url);
                      if( (url.startsWith("http://www.website.com")) ) {
                        //Allow the WebView in your application to do its thing
                        return false;
                      } else {
                        //Pass it to the system, doesn't match your domain
                        Intent intent = new Intent(Intent.ACTION_VIEW);
                        intent.setData(Uri.parse(url));
                        startActivity(intent);
                        //Tell the WebView you took care of it.
                        return true;
                      }
                    }
                    catch (Exception e) {
                      e.printStackTrace();
                    }
                    return false;

                }
            });
            {

            }

通过这样做,该网站中的任何页面都将在webview本身而不是浏览器中打开。希望这会有所帮助。