Méthode fiable pour obtenir le pays dans lequel l'utilisateur se trouve?
J'ai l'habitude de remettre le pays de la langue de l'appareil. Il fonctionne, mais maintenant, je dois reconnaître Brésil. Et la plupart des périphériques ne disposent portugais (pt_PT), et pas de portugais (Brésil).
J'ai vérifié ce fil: Où suis-je? - Obtenez des pays
Les méthodes
String locale = context.getResources().getConfiguration().locale.getCountry();
String locale = context.getResources().getConfiguration().locale.getDisplayCountry();
Sont encore à la langue seulement, ne l'aide pas.
Il y a aussi la suggestion avec la carte sim, mais je ne sais pas si cela va fonctionner de manière fiable (faire toutes les cartes sim qui ont cette identification unique?), c'est aussi un peu pas exactement ce dont j'ai besoin parce que l'utilisateur ne peut pas modifier (ce qui est le cas si c'était un paramètre), et il s'exclure des utilisateurs à l'aide d'un appareil sans carte sim (peut-être qu'ils utilisent WLAN).
Il y a aussi la géolocalisation suggestion, mais ce ne sera probablement pas travailler dans des dispositifs qui ont désactivé. Ou je me trompe?
Si rien d'autre aide, je voudrais faire une boîte de dialogue ou de paramétrage du menu dans mon application afin que l'utilisateur peut sélectionner. Mais je tiens tout d'abord à confirmer si il ya toute la fiabilité de possibilité avec l'appareil.
source d'informationauteur Ixx
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le retirer de l'emplacement à partir du réseau téléphonique:
Ou à partir de la carte SIM:
Ou, si vous demandez à l'utilisateur le numéro de téléphonevous pourriez être en mesure de le faire correspondre au pays grâce à ces données.
Idéalement, vous pouvez utiliser tous les trois de ceux-ci (dans un certain ordre, peut-être SIM, numéro de Téléphone, puis Réseau), et si aucun ne fonctionne, utilisez le revers de la géolocalisation comme un dernier recours.
Essayez ceci:
Maintenant,
countryISOCode
contiendrait l'une des opérations suivantes similaire pour les codes de pays ISO 3166 que par cet Wikipedia entrée.De la géolocalisation serait la plus efficace et discrète. Vous pouvez toujours utiliser la géolocalisation, et si l'utilisateur a désactivé l'affichage de votre boîte de dialogue demandant de leur pays. Le moins que vous bug de l'utilisateur pour plus d'informations le mieux.
Comme répondu par Eric, le code ci-dessus est la meilleure approche.
Il est également intéressant de noter que,
ne doit pas être utilisé comme cela semble indiquer le pays d'origine de la carte SIM fournisseur (E. g. Un Vodaphone UK SIM serait de retour "go", Un Vodaphone Allemagne SIM serait de retour "de") et le lieu (Pays) de l'appareil.
Cette différence est significative lorsque l'utilisateur est en itinérance.
Il travaille sur moi.
............................