Пример приложения провайдера для определения местоположения Android не работает - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь создать простое Android-приложение для определения местоположения (Android 7.0). Я получаю Java.Lang.SecurityException на ... не разрешено выполнять MockLocationException . У меня есть android.permission.ACCESS_MOCK_LOCATION в файле манифеста. Я также пробовал то же самое с Xamarin и получил ту же ошибку.

Location location = new Location(LocationManager.GpsProvider);

location.Latitude = 20.0;
location.Longitude = 20.0;
location.Accuracy = 0;
location.Time = DateTime.Now.Ticks;
location.ElapsedRealtimeNanos = 100;
location.Speed = 0.0f;
location.Altitude = 1.0;
location.Bearing = 0.0f;

LocationManager locationManager = GetSystemService(LocationService) as 
LocationManager;

locationManager.AddTestProvider(LocationManager.GpsProvider, false, 
       false, false, false, false, false, false, Power.Low, 
Android.Hardware.SensorStatus.AccuracyHigh);
// getting exception on the above line

locationManager.SetTestProviderLocation(LocationManager.GpsProvider, 
           location);
locationManager.SetTestProviderEnabled(LocationManager.GpsProvider, true);

1 Ответ

1 голос
/ 17 апреля 2019

Вам необходимо включить Разрешить фиктивные местоположения в настройках - Параметры разработчика на вашем устройстве и добавить разрешение ACCESS_MOCK_LOCATION в манифест. Это позволит вам отправлять макеты в ваше приложение

...