我使用的LocationClient效果很好。现在我正在尝试创建模拟位置(setMockMode(true)+ setMockLocation(mockLoc)。但是我的LocationListener的onLocationChanged没有被调用。可能是什么问题?
我遵循了这个:http://developer.android.com/training/location/location-testing.html
步骤:
答案 0 :(得分:7)
好的,您必须使用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配合使用。