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