Android WebView在真实设备中加载网站的移动版本,而在虚拟设备中加载桌面版本

时间:2018-11-08 11:43:38

标签: java android webview android-webview

我正在尝试在Android Webview上加载https://web.whatsapp.com。但是,尽管更改了所有设置以加载桌面网站,但它正在加载移动网站。在虚拟设备上运行时,它的行为符合预期,即每次打开桌面站点。首先想到的是,它是由于不同的API(虚拟设备25,电话22)而发生的。但事实并非如此。在实际设备上安装该应用程序后,它会首次加载桌面版本。随后启动该应用程序往往会加载移动网站。我通过生成签名的APK并手动安装,在多台设备上对其进行了测试。但是所有真实设备的行为都相同。这是我要为Webview实例更改的设置的代码:

    // Required for whatsapp web
    web.getSettings().setDomStorageEnabled(true);

    web.getSettings().setJavaScriptEnabled(true);
    web.getSettings().setAllowContentAccess(true);
    web.getSettings().setUseWideViewPort(true);
    web.getSettings().setAppCacheEnabled(true);
    web.getSettings().setDatabaseEnabled(true);

    // Firefox Desktop
    web.getSettings().setUserAgentString(Properties.USER_AGENT);
    web.addJavascriptInterface(new MyJsInterface(), "JsInterface");

    CustomWebViewClient webClient = new CustomWebViewClient("checkvalidation.js");
    web.setWebViewClient(webClient);
    CustomChromeClient chromeClient = new CustomChromeClient();
    web.setWebChromeClient(chromeClient);

Properties.USER_AGENT是与Chrome 70相同的ua字符串。

我非常需要帮助。我还尝试过为Firefox设置UA。

0 个答案:

没有答案