在webview中加载https页面

时间:2015-03-02 20:05:46

标签: android webview https android-webview webviewclient

我正试图在https://plus.google.com/myprofilepage内的应用中显示webview(忽略我刚刚编写的myprofilepage部分,在代码中用我的实际个人资料页面替换)页面。问题是应用程序没有显示任何内容,之前我只使用http://www.google.comhttps://www.google.co.in进行了尝试。

没有创建日志,因此无法获取它们。我确实连接了互联网,AndroidManifest.xml也有INTERNET权限。

我希望在GoogleView中显示google plus页面只是我的基本要求,我想我错过了加载google plus所需的内容。有人可以帮忙。

targetsdkversion是21。

以下是我的代码:

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_about_developer, container, false);
        //String url = getActivity().getResources().getString(R.string.about_page);
        String url="https://plus.google.com";
        WebView webView = (WebView) v.findViewById(R.id.devwebView);
        webView.setWebViewClient(new WebviewHandler());
        webView.setInitialScale(1);
        webView.getSettings().setLoadWithOverviewMode(true);
        webView.getSettings().setUseWideViewPort(true);
        webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        webView.setScrollbarFadingEnabled(false);
        webView.loadUrl(url);
        return v;
    }

    private class WebviewHandler extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
        @Override
        public void onReceivedSslError(final WebView view, final SslErrorHandler handler, SslError error) {
            handler.proceed();
        }
    }

2 个答案:

答案 0 :(得分:1)

Google+使用大量JavaScript,并使用webView.getSettings().setJavaScriptEnabled(true);启用它。为我工作

答案 1 :(得分:0)

+1 Lamorak说的话。启用JavaScript是必须的。这是所需的最低代码(除了INTERNET权限之外):

WebView webView = (WebView)findViewById(R.id.webView);
// This is to avoid "Open with..." dialog for the G+ page.
webView.setWebViewClient(new WebViewClient());
WebSettings settings = webView.getSettings();
// Enable JavaScript.
settings.setJavaScriptEnabled(true);
// The two lines below are to enable interpreting <meta viewport> tag.
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
webView.loadUrl("http://plus.google.com/...");