1、获取时间
android获取时间的方法一般调用java的 System.currentTimeMillis()方法获取,这个方法,据网上博客所说,在linux下实质上是调用系统的gettimeofday()。获取当前时间(是1970年1月1日到现在的时间)。Date初始化时所用时间也是通过该方法获取的。
2、设置时间
目前我所知有两个接口设置时间。一个是在AlarmManager下的setTime()函数,另一个是在SystemClock下的setCurrentTimeMillis()函数。但两者最后都是调用到AlarmManagerService下的setKernelTime()。setKernelTime是Native函数,它的本地实现大概是通过settimeofday设置时间,并且通过ioctl方式往设备里面写入时间。(具体没细看)
本文详细介绍了在Android中如何获取和设置系统时间。获取时间主要通过System.currentTimeMillis()方法,该方法在Linux环境下实质调用gettimeofday()。而设置时间则涉及AlarmManager的setTime()和SystemClock的setCurrentTimeMillis()函数,最终都调用到AlarmManagerService的setKernelTime(),通过Native函数实现。
&spm=1001.2101.3001.5002&articleId=89307259&d=1&t=3&u=37e4d4a886c547188e211b3d3728d7cc)
1860

被折叠的 条评论
为什么被折叠?



