Я использую структуру MvvmCross для разработки кросс-устройств. Когда я тестирую свое приложение в эмуляторе Android (я еще не могу его протестировать на физическом устройстве), я получаю исключение Java.Lang.IllegalArgumentException при вызове RequestLocationUpdates в LocationManager. Кроме того, я не знаю, насколько это актуально, но когда я наводил указатель мыши на оператор, мне сказали, что RequestLocationUpdates - это «Неизвестный метод». Это происходит независимо от того, произошло ли исключение или нет.MonoDroid LocationManager.RequestLocationUpdates дает исключение Java.Lang.IllegalArgumentException
кажется, только произойдет во второй раз я называю это в моем приложении, но код, который очищает его вниз между применениями выглядит, как он должен работать
protected override void PlatformSpecificStart(MvxGeoLocationOptions options)
{
if (_locationManager != null)
throw new MvxException("You cannot start the MvxLocation service more than once");
_locationManager = (LocationManager)Context.GetSystemService(Context.LocationService);
var criteria = new Criteria() { Accuracy = options.EnableHighAccuracy ? Accuracy.Fine : Accuracy.Coarse };
var bestProvider = _locationManager.GetBestProvider(criteria, true);
_locationManager.RequestLocationUpdates(bestProvider, 5000, 2, this);
}
protected override void PlatformSpecificStop()
{
EnsureStopped();
}
private void EnsureStopped()
{
if (_locationManager != null)
{
_locationManager.RemoveUpdates(this);
_locationManager = null;
}
}
Класс это в унаследован от java.lang. Объект и я подтвердили, что PlatformSpecificStart и Stop и вызываются в соответствующие моменты времени (т.е. Stop определенно вызывается перед вторым запуском). Может ли кто-нибудь сказать мне, что происходит не так?
Я удалось заглянуть ближе и обнаружил, что исключение связано с тем, что «это» является нулевым! Как это может случиться ?! –
У вас есть образец, который вы можете разместить в любом месте? – Stuart
Привет, Стюарт. Я просто попытался ответить на вопрос, но SO не позволит мне, потому что я такой noob! Я могу сделать это через пару часов, когда мне разрешат. –