Вы используете веб-сервис API Адресов. Обычно предполагается, что веб-службы API Карт Google вызываются с внутренних серверов и поддерживают только ограничения IP-адресов.
Вы можете прочитать об ограничениях, которые могут быть установлены для различных API, на
https://developers.google.com/maps/faq#keysystem
Как видите, веб-служба API Адресов может использовать только ограничение IP-адресов. Поскольку вы отправляете запросы напрямую с мобильных устройств, это не имеет особого смысла. Каждое устройство имеет свой собственный IP-адрес, и вы не знаете IP-адреса устройств. Таким образом, единственный возможный обходной путь для защиты ключа API - это создание промежуточного внутреннего сервера.
Приложение должно отправить запрос на ваш промежуточный сервер с соответствующей аутентификацией, ваш промежуточный внутренний сервер должен отправить запрос в Google с защищенным ключом API, ограниченным IP-адресом вашего сервера, и результатами прокси-сервера обратно в ваше приложение.
В этом случае вам понадобятся два ключа API. Один для Google Maps Android SDK с ограничением приложения Android, а другой для веб-службы API Адресов с ограничением IP-адреса.
Надеюсь, это поможет!