作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个与 ASP.NET MVC 网络应用程序交互的 Android Phonegap/Cordova 应用程序。我正在尝试检测服务器端网页是从浏览器加载还是从我的 Phonegap/Cordova 应用加载。
我考虑过几种方法:
我在更改用户代理字符串时做错了吗?或者是否有其他方法可以实现此目的?
最佳答案
因此,对于 Cordova 5.1.1 及其平台版本 Android 4.0.2(我目前使用 Cordova 5.1.1 时开箱即用的内容),这些答案不再有效。
经过一番艰难的摸索,上述版本的解决方案如下:
在由 cordova 默认创建并扩展 CordovaActivity
的常用 MainActivity.java
中,覆盖 makeWebViewEngine
方法:
@Override
protected CordovaWebViewEngine makeWebViewEngine() {
CordovaWebViewEngine cordovaWebViewEngine = super.makeWebViewEngine();
WebSettings settings = ((SystemWebView) ((SystemWebViewEngine) cordovaWebViewEngine).getView()).getSettings();
settings.setUserAgentString("MreaderMobile App / Android");
return cordovaWebViewEngine;
}
将来,当他们升级 Android 平台的版本时,这应该更容易通过 config.xml 完成,但这不是 ATM 的选项,正如我在错误修复线程 CB-8960 上评论的那样
关于android - 无需修改 cordova 库的自定义用户代理字符串或 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14574248/
我是一名优秀的程序员,十分优秀!