Решение этой проблемы может быть легко достигнуто с помощью интерфейса.
1 - сначала определите интерфейс
public interface ILocationReceived {
onLocationRecieved(String longitude);
}
2 - передать этот интерфейс методу
public void getDeviceLocation(ILocationRecieved locationRecieved) {
}
3 - У вас в асинхронном методе передается полученное местоположение
locationRecieved.onLocationRecieved(longitude);
4 - При реализации метода просто получите долготу.
new GetMyCoordinate().getDeviceLocation( longitude ->
// here you get your longitude from the async method.
// use it as you need
print (longitude)
);
ПРИМЕЧАНИЕ : Написал это безо всякой идеи, чтобы оно могло содержать некоторую синтаксическую ошибку.