I'm using phonegap / cordova for developing an Android app.
The app has to read files on a remote server. Therefore I'm using AJAX (jQuery). The problem is: The remote server redirects all connections from mobile devices to a mobile version, which doesn't work for me, so I have to change the User Agent to a desktop browser.
How can I do this? I've seen a solution for iOS. Is something like this possible for Android?
Edit: I found a solution myself:
Just add
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");
to /src/com/a/b/c.java
in onCreate
-method.
put this in your onCreate method: (after super.init();)
super.appView.getSettings().setUserAgentString("Your own agent string");
this worked for me.
See for more settings: http://developer.android.com/reference/android/webkit/WebSettings.html
If you're looking for a more powerful http client for cordova that allows changing the user agent, or any header in that matter, try out https://github.com/aporat/cordova-plugin-fetch. it wraps around well tested native networking libraries (AFNetworking 2
on ios, and OKHttp
on android).
it also follows the window.fetch, so you could use cordovaFetch
on the simulators and devices, while testing on the browser with fetch.js
.
Just install the plugin with
cordova plugin add https://github.com/aporat/cordova-plugin-fetch.git
and include the user agent header in any request you made.
cordovaFetch('/users.json', {
method : 'GET',
headers: {
'User-Agent': 'your user agent'
},
})
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With