2017-08-28 3 views
0

J'utilise URLConnection pour télécharger le fichier html à partir d'une application Android. Mais je veux le contenu HTML basé sur les paramètres régionaux de l'appareil."Accept-language" n'est pas défini dans l'en-tête de la requête lors de l'utilisation de URLConnection dans android?

Supposons que l'utilisateur envoie la requête depuis les paramètres régionaux allemands, la réponse doit être en allemand. Je m'attends à ce que URLConnection envoie send-language en fonction de device-locale, similaire aux appels ajax. Mais l'en-tête accept-language n'est pas présent dans la requête faite par URLConnection.

Ai-je besoin de définir l'en-tête de demande explicitement ou existe-t-il une alternative?

Merci d'avance.

Répondre

2

Vous pouvez utiliser une des actions suivantes pour obtenir la langue locale de l'appareil dans votre format -

Locale.getDefault().getLanguage()  ---> en  
Locale.getDefault().getISO3Language() ---> eng 
Locale.getDefault().getCountry()  ---> US 
Locale.getDefault().getISO3Country() ---> USA 
Locale.getDefault().getDisplayCountry() ---> United States 
Locale.getDefault().getDisplayName() ---> English (United States) 
Locale.getDefault().toString()   ---> en_US 
Locale.getDefault().getDisplayLanguage()---> English 

Source - Refer here

Vous pouvez donner en-tête Accept-Language dans votre demande comme -

URL url = new URL("website url"); 
URLConnection urlconnection = url.openConnection(); 
urlconnection.setRequestProperty("Accept-Language", "en-GB");