2013-01-18 11 views
8

Sto usando phonegap/cordova per lo sviluppo di un'app Android.Cambia PhoneGap/Cordova User-Agent per AJAX

L'app deve leggere i file su un server remoto. Pertanto sto usando AJAX (jQuery). Il problema è: il server remoto reindirizza tutte le connessioni dai dispositivi mobili a una versione mobile, che non funziona per me, quindi devo cambiare l'User Agent in un browser desktop.

Come posso fare questo? Ho visto a solution for iOS. È qualcosa di simile a questo possibile per Android?


Edit: ho trovato me stesso una soluzione:

Basta aggiungere

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"); 

a /src/com/a/b/c.java in onCreate -Metodo.

+1

questo non ha funzionato per me. Qualche idea? – Danation

+2

È possibile aggiungere una risposta alla propria domanda - non è necessario modificarla nella domanda stessa. Sarebbe molto più ordinato se modifichi di nuovo e fatto ciò. – rjmunro

+0

@ninov Sto usando Cordova ma non ho alcun file .java. Possiamo chiamarlo da javascript? Funziona ancora a partire dal 2017? –

risposta

1

Se siete alla ricerca di un più potente client HTTP per Cordova che permette di cambiare l'user agent, o qualsiasi intestazione in quella materia, provare https://github.com/aporat/cordova-plugin-fetch. avvolge librerie di rete native ben collaudate (AFNetworking 2 su iOS e OKHttp su Android).

segue anche window.fetch, quindi è possibile utilizzare cordovaFetch sui simulatori e sui dispositivi, durante il test sul browser con fetch.js.

Basta installare il plugin con

cordova plugin add https://github.com/aporat/cordova-plugin-fetch.git

e includere l'intestazione agente utente in qualsiasi richiesta che hai fatto.

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