【发布时间】:2019-04-17 18:52:10
【问题描述】:
我正在尝试构建一个简单的 Android 模拟位置提供 (Android 7.0)。我得到一个Java.Lang.SecurityException on ...不允许执行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);
【问题讨论】:
-
请指出这是否解决了问题...
-
我看到的问题是,我无法选择我的应用作为模拟位置提供程序(在 Android 设置中)。不过,我可以在模拟位置提供商列表中看到我的应用程序名称。但是列表中还有其他一些应用程序,它们也是可选的。
标签: android mock-location