【问题标题】:Allow mock Locations #Android允许模拟位置#Android
【发布时间】:2014-06-02 20:23:31
【问题描述】:

我一直在尝试使用 Android 设备上的开发者选项下提供的此功能。我是一名测试人员,所以试图在 android 设备上伪造一个位置。我已经在 android manifest 权限下授予了权限 ACCESS_MOCK_LOCATION 。不知道我应该在我的代码中将我的假经度和纬度放在什么地方和什么地方。有人试过吗?我是代码新手和测试人员,所以不知道我应该为假的 long 和 lat 编写什么代码,以及我应该把它放在哪里。我有我的测试应用程序的源代码,它是一个在主屏幕上带有地图的健康应用程序。

【问题讨论】:

    标签: java android eclipse testing gps


    【解决方案1】:

    实例化您的LocationClient 后,您可以调用locationclient.setMockMode(true);

    之后你可以让你的代码像这样生成Location对象

    public Location createLocation(double lat, double lng, float accuracy) {
        // Create a new Location
        Location newLocation = new Location(PROVIDER);
        newLocation.setLatitude(lat);
        newLocation.setLongitude(lng);
        newLocation.setAccuracy(accuracy);
        return newLocation;
    }
    

    之后你可以做类似的事情

    Location testLocation = createLocation(12.34, 45.679, 9.0f);
    

    locationClient.setMockLocation(testLocation);
    

    (取自here

    This 博客描述了如何在调试时使用模拟位置以及在不调试时关闭它们。

    【讨论】:

    • 你知道这段代码放在源代码的什么地方吗?
    • 此代码将转到您的应用程序具有其位置逻辑的位置。除了使用模拟位置之外,您还可以从 android sdk 在 android 模拟器中运行代码并使用 telnet 将位置数据发送到模拟器(请参阅stackoverflow.com/a/2279827/2822762
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2021-01-07
    • 2011-04-25
    相关资源
    最近更新 更多