【问题标题】:LocationClient - Mock LocationsLocationClient - 模拟位置
【发布时间】:2014-05-28 10:03:19
【问题描述】:

我正在使用运行良好的 LocationClient。现在我正在尝试创建模拟位置 (setMockMode(true) + setMockLocation(mockLoc)。但是我的 LocationListener 的 onLocationChanged 没有被调用。可能是什么问题?

我关注了这个:http://developer.android.com/training/location/location-testing.html

步骤:

  • 连接
  • 请求位置更新
  • setMockMode 为真
  • setMockLocation (provider = "flp")

【问题讨论】:

    标签: android google-play-services locationlistener location-client


    【解决方案1】:

    好的,所以您必须使用 setTime()setElapsedRealtimeNanos() 更新您的位置。

    位置的完整创建方法如下所示:

    @SuppressLint("NewApi")
    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);
        newLocation.setTime(System.currentTimeMillis());
    
        int sdk = android.os.Build.VERSION.SDK_INT;
        if(sdk >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) {
            newLocation.setElapsedRealtimeNanos(
                 SystemClock.elapsedRealtimeNanos());
        }
        return newLocation;
    }
    

    已经过测试,可以与 Nexus 5 一起使用。

    【讨论】:

    • 解决了三星 S3 Mini 的问题。谢谢!
    • @IgorGanapolsky 我建议使用 fused,这样 Android 系统将处理从何处获取最佳数据。
    猜你喜欢
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 2010-12-06
    • 2018-03-04
    相关资源
    最近更新 更多