我用的定位客户端很好用。现在我试图创建模拟位置(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一起工作。