我用的定位客户端很好用。现在我试图创建模拟位置(setmockmode(true)+setmocklocation(mockloc)。但不调用我的LocationListener的onLocationChanged。有什么问题吗?
我是这么说的:http://developer.android.com/training/location/location-testing.html
步骤:
连接
请求位置更新
setmockmode为真
setmocklocation(provider=“flp”)

最佳答案

好的,你得用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一起工作。

08-15 19:31