После того, как вы впервые обратитесь к провайдеру, всегда рекомендуется сбросить его перед настройкой прослушивателя местоположения:
provider.setLocationListener( null, 0, 0, 0 );
provider.reset();
Кроме того, если вы используете BrowserField, помните, что поле будет регистрировать свой собственный слушатель, переопределяя ваш (известная ошибка). Единственный обходной путь для этого - опросить местоположение самостоятельно с помощью getLocation ().