Xamarin,Android:如何使用;ElapsedRealtimenano“是什么;?
我在写一个应用程序,伪造我的位置。为此,我需要填写:Xamarin,Android:如何使用;ElapsedRealtimenano“是什么;?,xamarin,xamarin.android,Xamarin,Xamarin.android,我在写一个应用程序,伪造我的位置。为此,我需要填写: mylocation = new location; mylocation.ElapsedRealTimeNanos = xxx; 所以,我真的不知道这是什么意思。 指南中说: “elapsedRealtime()和elapsedrealtimenos()返回自系统启动以来的时间,并包括深度睡眠。该时钟保证是单调的,即使在CPU处于省电模式时也会继续滴答作响,因此建议使用通用间隔计时。” 所以,如果我现在试图设置一个模拟位置,我不能把这个
mylocation = new location;
mylocation.ElapsedRealTimeNanos = xxx;
所以,我真的不知道这是什么意思。
指南中说:
“elapsedRealtime()和elapsedrealtimenos()返回自系统启动以来的时间,并包括深度睡眠。该时钟保证是单调的,即使在CPU处于省电模式时也会继续滴答作响,因此建议使用通用间隔计时。”
所以,如果我现在试图设置一个模拟位置,我不能把这个值设为常数,我很确定我需要把它设为一个给定正确值的值。但是我如何获得我的模拟对象的真正价值呢
谢谢:)模仿美国华盛顿州西雅图市中心位置的示例:
var mockLocation = new Location("SeattleMockedLocation")
{
Latitude = 47.60357f,
Longitude = -122.3295f,
Altitude = 0.0f,
Accuracy = 20.0f,
ElapsedRealtimeNanos = Java.Lang.JavaSystem.NanoTime(),
Time = Java.Lang.JavaSystem.CurrentTimeMillis()
};
为什么不直接从
SystemClock
类中获取elapsederrealtimenos
?该值实际上只是获取系统启动后的时间,它是在刚刚工作正常的SystemClock
类(至少需要API 17)中提供的:)