Обычно я получаю страну на языке устройства. Это работает, но теперь я должен признать Бразилию. И большинство устройств имеют только португальский (pt_PT) и не португальский (Бразилия) вариант.
Я проверил эту тему: Где я? - Получить страну
Методы
String locale = context.getResources().getConfiguration().locale.getCountry();
String locale = context.getResources().getConfiguration().locale.getDisplayCountry();
Являются ли все еще языковыми, не помогают.
Есть также предложение с сим-картой, но я не уверен, что это будет работать надежно (все ли сим-карты имеют эту уникальную идентификацию?), это также немного не совсем то, что мне нужно, потому что пользователь может " t изменить его (что имеет место, если это была настройка), и это исключает пользователей, использующих устройство без сим-карты (возможно, они просто используют WLAN).
Там также предлагается предложение геолокации, но это, вероятно, не будет работать на устройствах, которые его дезактивировали. Или я не прав?
Если ничего другого не помогает, я бы сделал диалог или настройку меню в своем приложении, чтобы пользователь мог выбрать его там. Но сначала я хотел бы подтвердить, есть ли какие-либо надежные возможности с устройством.