Xamarin ios-如何找到iOS设备正常运行时间,即在睡眠时不会暂停

时间:2019-03-19 15:59:38

标签: xamarin xamarin.ios

我正在寻找一种在Xamarin iOS上获得绝对,始终递增的系统正常运行时间的方法。

它应该返回自上次重新启动设备以来的时间,并且不受系统日期更改的影响。

我可以找到的所有方法要么在设备休眠时暂停(CACurrentMediaTime,[NSProcessInfo systemUptime],mach_absolute_time),要么在系统日期更改时更改(sysctl / KERN_BOOTTIME)。

am使用以下代码,但它返回一个常数:

    public static TimeVal GetBoottime()
    {
        var pLen = Marshal.AllocHGlobal(sizeof(int));
        sysctlbyname("kern.boottime", IntPtr.Zero, pLen, IntPtr.Zero, 0);
        var length = Marshal.ReadInt32(pLen);
        var pStr = Marshal.AllocHGlobal(length);
        sysctlbyname("kern.boottime", pStr, pLen, IntPtr.Zero, 0);
        return Marshal.PtrToStructure<TimeVal>(pStr);
    }

0 个答案:

没有答案