Эмулятор монодроида получает проблему с местоположением
-
27-10-2019 - |
Вопрос
Мне не удается заставить приложение Monodroid получить местоположение, когда я запускаю его в эмуляторе. Мой код выглядит примерно так:
LocationManager locationsManager= (LocationManager) threadSurfaceView.Context.GetSystemService (Context.LocationService);
location= locationManager.GetLastKnownLocation (Android.Content.Context.LocationService);
Однако всегда кажется, что возвращается значение null. Должен ли я каким-то образом настроить эмулятор, чтобы у него была служба местоположения и / или местоположение?
Я также пробовал добавить LocationListener:
locationListener= new MyLocationListener ();
LocationManager.RequestLocationUpdates (LocationManager.GpsProvider, 120000, 0, locationListener);
Но проблема, с которой я столкнулся, заключалась в создании класса MyLocationListener. Я реализовал четыре общедоступных метода (OnLocationChanged (Location) и т. Д.), Но Visual Studio пожаловалась на отсутствие метода Android.Runtime.IJavaObject - есть ли у кого-нибудь простой пример класса, реализующего ILocationListener?
Спасибо за любую помощь. Мартин
Решение
Я получил любезную ссылку на образец в
Что отлично работает на моем Nexus S, но все равно не будет работать на эмуляторе, поэтому (возможно) проблема не в коде.
В этом примере мне понравился метод получения Activity для реализации ILocationListener, а также Activity - изящное решение для получения данных обратно из функции «слушателя», которая доставляла мне головную боль, когда ее переносили в другуюкласс.
Я загрузил набор сэмплов, и если вы сделаете то же самое, вам нужно будет взять mp3-файл - переименовать его в volbeat.mp3 и добавить его в папку "raw" в разделе "Resources", поскольку он отсутствует.
Другие советы
частичный ответ, поскольку я работаю над той же проблемой.
Ваш класс слушателя, реализующий ILocationListener, должен быть объявлен как
открытый класс myLocationListener: Java.Lang.Object, ILOcationListener { // плюс указанные вами публичные функции }
Моя попытка выглядит так:
родовое словоно iAmHere на эмуляторе имеет значение null, даже когда я использовал TelNet для отправки местоположения гео-исправления через