Надежный способ получить страну, в которой находится пользователь?

Я обычно получаю страну из языка устройства. Это работает, но теперь я должен признать Бразилию. И большинство устройств имеют только португальский (pt_PT) и не португальский (Бразилия) вариант.

Я проверил эту тему:Где я? - Получить страну

Методы

 String locale = context.getResources().getConfiguration().locale.getCountry();

 String locale = context.getResources().getConfiguration().locale.getDisplayCountry();

По-прежнему только на языке, не помогает.

Есть также предложение с сим-картой, но я не уверен, будет ли это работать надежно (все ли сим-карты имеют эту уникальную идентификацию?), Это также не совсем то, что мне нужно, потому что пользователь может ; t измените его (что имеет место, если это была настройка), и это исключит пользователей, использующих устройство без SIM-карты (возможно, они просто используют WLAN).

Существует также предложение геолокации, но оно, вероятно, не будет работать в устройствах, которые его деактивировали. Или я не прав?

Если больше ничего не поможет, я бы сделал диалог или настройку меню в своем приложении, чтобы пользователь мог выбрать его там. Но сначала я хотел бы подтвердить, есть ли надежная возможность с устройством.

Ответы на вопрос(5)

Ваш ответ на вопрос