我正在尝试在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。