Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将PhoneGap/Cordova用户代理更改为AJAX_Android_Jquery_Cordova_User Agent - Fatal编程技术网

Android 将PhoneGap/Cordova用户代理更改为AJAX

Android 将PhoneGap/Cordova用户代理更改为AJAX,android,jquery,cordova,user-agent,Android,Jquery,Cordova,User Agent,我正在使用phonegap/cordova开发Android应用程序 应用程序必须读取远程服务器上的文件。因此,我使用AJAX(jQuery)。 问题是:远程服务器将所有连接从移动设备重定向到移动版本,这对我不起作用,因此我必须将用户代理更改为桌面浏览器 我该怎么做?我见过。对于Android来说,这是可能的吗 编辑: 我自己找到了一个解决办法: 加上 WebSettings w = this.appView.getSettings(); w.setUserAgentString(

我正在使用phonegap/cordova开发Android应用程序

应用程序必须读取远程服务器上的文件。因此,我使用AJAX(jQuery)。 问题是:远程服务器将所有连接从移动设备重定向到移动版本,这对我不起作用,因此我必须将用户代理更改为桌面浏览器

我该怎么做?我见过。对于Android来说,这是可能的吗


编辑: 我自己找到了一个解决办法:

加上

WebSettings w = this.appView.getSettings();      
w.setUserAgentString("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1");

onCreate
-method中的
/src/com/a/b/c.java

将其放在onCreate方法中:(在super.init()之后;)

这对我有用


有关更多设置,请参阅:

如果您正在为cordova寻找更强大的http客户端,该客户端允许更改用户代理或任何相关的头,请尝试。它围绕着经过良好测试的本机网络库(ios上的AFNetworking 2和android上的OKHttp)

它还遵循window.fetch,因此您可以在模拟器和设备上使用
cordovaFetch
,同时在浏览器上使用
fetch.js
进行测试

只需安装带有

cordova插件添加https://github.com/aporat/cordova-plugin-fetch.git

并在您发出的任何请求中包含用户代理标头

cordovaFetch('/users.json', {
  method : 'GET',
  headers: {
   'User-Agent': 'your user agent'
 },
})

这对我不起作用。有什么想法吗?你可以给自己的问题添加答案-你不必在问题本身中编辑答案。如果您再次编辑并这样做,将会更加整洁。@ninov我正在使用Cordova,但我没有任何.java文件。我们可以从javascript中调用它吗?截至2017年,它是否仍然有效?
cordovaFetch('/users.json', {
  method : 'GET',
  headers: {
   'User-Agent': 'your user agent'
 },
})