您当前的位置: 首页 >  硬件开发

命运之手

暂无认证

  • 2浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Android智能硬件开发】【007】安卓同步系统时间

命运之手 发布时间:2022-02-10 18:59:59 ,浏览量:2

需求

智能硬件很多是电源供电,本身没有内置电池

断点时,没有电源,就无法维持计时器工作,这样就会丢失关机前的时间信息

当我们重新开机时,时间就会被恢复到出厂时的时间戳

如果有网络,系统会稍后自动同步时间,如果没网络,就会一直保持错误的时间

对于一些定时执行的任务,我们必须确保时间正确,才能执行

所以我们就很有必要,在系统启动后,手动同步网络时间,同步成功后再执行相关任务

前提

只有系统级别的应用,才拥有设置系统时间的权限

想要把应用升级为系统应用,至少满足两个条件,这个我们在前面讲过,不懂的请看专栏前面的博客

  1. 设置android:sharedUserId=“android.uid.system”
  2. 用编译系统源码时的签名证书,对APP进行签名

另外,要使用此代码,需要用到Framework层的源码

这部分代码在AndroidSDK中是没有的,需要自己去下载,特定版本安卓系统,对应的framework.jar

实现代码


	//同步网络时间
	SntpClient client = new SntpClient();
	boolean success = client.requestTime("time.ustc.edu.cn", 500);
	long ntpTime = client.getNtpTime();
	//设置系统时间
	SystemClock.setCurrentTimeMillis(ntpTime);

关注
打赏
1654938663
查看更多评论
立即登录/注册

微信扫码登录

0.0410s