Если ваше приложение работает на реальном устройстве, то ваш код должен быть в порядке. Думайте о геокодировании как об услуге, на которую компании должны подписаться или купить для своих устройств Я думаю, что большинство из них просто используют Google, но они, вероятно, могут использовать Bing или какой-то другой.
С Документы :
Классу Geocoder требуется бэкэнд-сервис, который не включен в
ядро Android Framework. Методы запроса Geocoder вернут
пустой список, если на платформе нет бэкэнда Использовать
isPresent () метод, чтобы определить, является ли реализация геокодера
существует.
По моему опыту, вызов geocoder.isPresent()
из эмулятора вернет false, а с реального телефона вернет true, если настоящий телефон сделан компанией, о которой вы слышали.
Если вам нужна служба обхода / резервного копирования, вы можете запросить API Карт Google через HTTP так же, как и с веб-страницы. В этом ответе есть пример здесь .