1

部分是作为学习一点 Android 编程的练习,部分是因为我希望我在 Android 移动设备上有一个 WhatsApp 客户端,我正在尝试创建一个应用程序,我可以个人将其用作我的移动设备的 WhatsApp 客户端。它所做的只是在 UIWebView 中加载 web.whatsapp.com 桌面站点,如下所示:

webView =  findViewById(R.id.wv);
String ua = "user agent string";
webView.getSettings().setUserAgentString(ua);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(" url ");

webView.setWebViewClient(new WebViewClient(){
    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        final Uri uri = request.getUrl();
        return true;
    }

    @Override
    public void onPageFinished(WebView view, final String url) {
        webView.clearHistory();
        super.onPageFinished(view, url);

    }
});

这工作正常。如果活动加载 Web 视图而不是像服务器检测到移动设备时通常发生的那样重定向到原始页面,它实际上确实会在第一次单独加载正确的 Web 应用程序。但是,与其显示实际页面,不如将我重定向到另一个页面,

现在,如果我在移动设备上使用 chrome 的 WhatsApp Web(并请求桌面版本),它工作得非常好,我通过设置 UserAgent 为我的 UIWebView 请求桌面站点。现在,我想知道为什么它在 WebView 中不起作用,以及是否可能需要设置其他一些标头或值以说服应用程序在我的 WebView 或清单中工作。

我不熟悉Android开发。我在网上搜索了这个问题的答案,但我找不到。

4

2 回答 2

0

该网站可能使用 Bootstrap 并仅根据显示大小调整屏幕比例。

于 2017-12-24T04:26:08.657 回答
0

你能改变 String ua="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101Firefox/4.0"; 并尝试一下。

于 2017-12-24T05:38:52.167 回答