2017-04-23 114 views
1

我在寫一個應用程序,它僞造我的位置。爲了做到這一點,我需要填寫:Xamarin,Android:如何使用「ElapsedRealTimeNanos」?

mylocation = new location; 
mylocation.ElapsedRealTimeNanos = xxx; 

所以,我真的不知道這是什麼意思。 在本指南中,它說:

「elapsedRealtime()和elapsedRealtimeNanos()返回自系統啓動以來的時間,幷包含深度睡眠。此時鐘保證是單調的,並且即使CPU是在省電模式,所以是通用間隔時間的推薦基礎。「

所以,如果我現在試圖設置一個模擬位置,我不能把這個值設置爲一個常數,我很漂亮當然,我需要把它放在一些東西上,這樣才能給出正確的價值。但是,我如何才能爲我的嘲弄對象獲得真正的價值?

謝謝:)

+0

爲什麼不直接從'SystemClock'類搶'elapsedRealtimeNanos'? https://developer.android.com/reference/android/os/SystemClock.html#elapsedRealtimeNanos()這個值實際上是從系統啓動以來的時間,它在'SystemClock'類中提供(需要API 17最低) –

+0

剛剛工作完美:) – user7285912

回答

0

嘲諷西雅圖市中心,WA的位置的例子,美國:

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() 
}; 
+0

嘿謝謝,這真的很有幫助! :) – user7285912

相關問題