有的人希望自己的时间比系统时间稍微早一些,以避免迟到(如会议、上班等等)。
老板提了这个需求,希望能够通过设置,让自己的时间比系统时间早比如5分钟或者10分钟。
而在Android中直接修改系统时间,由于与服务器有同步功能,又会恢复回来,并且系统时间会被很多应用调用,如果任意修改可能导致异常。
目前计划在系统时间设置界面,增加一个用户设置:显示时间提前xx分钟,用户可以输入一个合适的数字。
现在的问题是如何只修改android的显示时间(很多需要显示的地方,如时钟,日程,短信等,不能针对每个应用一个个都改),即系统时间仍然与UTC保持一致,但作为用户看到的时间被改变。
不知道我理解的对不对。你是说你的项目里,想增加唉一个设置界面。然后输入一个提前XX分钟。将系统时间-XX分钟后得到的时间显示到界面上让用户看而不是真的修改了系统时间。是这样吗?
我认为这个不是Android设置问题,这应该是一个算法问题。我们只需要:1、时刻监听,取到系统当前时间 2、用系统当前时间-你设置的XX分钟,返回一个系统时间对象result 3、将result对象显示到用户显示界面。至于之间的算法设计应该说不是很难。这个理解有问题么?
你的项目是在设置里面给系统时间加上一个提前的时间,将结果作为系统时间,然后在很多地方调用这个时间:
1、首先给系统时间加上一个你要提前的时间,我想你因该没有问题(Java时间的加减网上也有很多例子)。
2、将上面的结果作为系统时间后,加入到android服务中,再用线程的方式让其不停的刷新,刷新时间至少1000ms。
3、然后,再在其他地方显示这个时间,这里可能还要用调用服务中的线程,来实现这个时间的“自动运行”,不知道我的想法对不对,因为,这段时间我也在弄这个,时间的自动更新。不知道那天突发灵感,就做好了
上面写错了是刷新时间“至多”1000ms
来学习的