是否可以将Android WebView屏蔽为iPhone“App Mode”Safari浏览器?

时间:2011-02-17 03:13:59

标签: iphone android webview mobile-safari

所以我知道一些网站通过检查window.navigator.standalone来检查它是否被iPhone App Mode浏览器命中。是否可以将Android webview屏蔽为iPhone App Mode浏览器?

我已经尝试了以下代码,但它似乎没有针对我试图开始工作的网站。

WebView webView = new WebView(this);
    webView.getSettings().setJavaScriptEnabled(true);
    /* WebViewClient must be set BEFORE calling loadUrl! */
    webView.setWebViewClient(new WebViewClient() {
        @Override public void onPageStarted(WebView view, String url, Bitmap favicon) {

        }
        // intercept page finished event
        @Override public void onPageFinished(WebView view, String url) {
            if(DEBUG) Log.v(TAG, "done");
            view.loadUrl("javascript:javascript:(function() { " +
                    "window.navigator.standalone=1;" +
                    "})()");
        }
        // intercept clicked link event--load in this webview
        @Override public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);

            return true;
        }
    });

    webView.loadUrl("<website>");

2 个答案:

答案 0 :(得分:1)

WebSettings.setUserAgentString()可能就是你想要的。

将其设置为:

Mozilla/5.0 (iPhone; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile

答案 1 :(得分:0)

尝试使用iPhone模板图像绘制布局,并使用setContentView(LAYOUT_ID)

的webview活动布局

我希望这应该有效,让我们试一试