【问题标题】:Android mock location provider sample app is not workingAndroid 模拟位置提供程序示例应用程序无法正常工作
【发布时间】: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


【解决方案1】:

您需要在设备的设置 - 开发者选项设置中启用允许模拟位置,并在清单中添加 ACCESS_MOCK_LOCATION 权限.这将使您能够将模拟位置发送到您的应用程序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多