图片.png
如图所示,SystemClock就那么几个方法。
(1)currentThreadTimeMillis
获取当前线程总共运行的时间,单位毫秒。如果再次执行该线程,时间会叠加。
SystemClock.currentThreadTimeMillis()
这个方法可以放在某线程的结尾处,来计算某线程运行的总时间。
(2)elapsedRealtime
从设备开机到现在的时间,单位毫秒,含系统深度睡眠时间
SystemClock.elapsedRealtime();
(3)elapsedRealtimeNanos
从设备开机到现在的时间,单位纳秒,含系统深度睡眠时间
SystemClock.elapsedRealtimeNanos();
(4)uptimeMillis
从设备开机到现在的时间,单位毫秒,不含系统深度睡眠时间
SystemClock.uptimeMillis();
(5)获取系统时间
手机系统时间,单位毫秒,可以在手机设置中修改时间
System.currentTimeMillis()
(6)setCurrentTimeMillis
设置系统时间
SystemClock.setCurrentTimeMillis(time2 - 1000000);
想要修改系统时间必须添加对应的权限
<uses-permission android:name="android.permission.SET_TIME" />
然而,这个权限属于系统权限
,app必须拥有系统签名才可以成功获取到修改系统时间的权限,一般运用于手机系统内置app。
图片.png
(7)sleep
设置睡眠时间,相当于Thread.sleep(3000)
SystemClock.sleep(3000);