Я хочу получить код страны пользователя без каких-либо разрешений, которые необходимо активно запрашивать в android M. Например, если пользователь находился в Китае, я бы хотел вернуться обратно. Я не хочу использовать «опасные» разрешения для этого - ни read_phone_state
, чтобы пройти через TelephonyManager
, ни местоположение, чтобы попытаться угадать на основе его GPS. Есть ли способ сделать это, и если да, то как?Android: способ получить код страны пользователя без каких-либо разрешений, которые необходимо активно запрашивать?
Я попытался, используя следующий код, но это может привести к неудачам, если пользователь устанавливает его языковые настройки отдельно от своей страны (например, пользователь в Индии устанавливает свой телефон к English_US):
Resources r = paramContext.getResources();
Configuration config = r.getConfiguration();
Locale currentLocale = config.locale;
Log.d("TAG", "Country: " + currentLocale.getCountry());
Это именно сообщение об ошибке, которое вы получаете, и какая инструкция генерирует его? – thetonrifles
Пожалуйста, объясните ** точно **, что такое «код страны пользователя». Например, если гражданин США, пользующийся британской SIM-картой, находится в Швеции, что такое «код страны» этого пользователя? – CommonsWare
@CommonsWare - в примере, который вы предоставили, это будет шведский код страны (я считаю, SE). Сим/гражданство не то, что я ищу. Я хочу код страны, чтобы я мог правильно форматировать номер телефона – Jon