Android天文钟以定义的值开始

Android天文钟以定义的值开始,android,chronometer,Android,Chronometer,我有一个应用程序,在其中我向用户显示一个计时器,以了解他在做什么。 无论何时活动进入后台(通过home按钮还是back),我都会保存该时间(以秒为单位),当活动返回时,我希望从同一时间继续运行计时器。用户可能会从列表中选择不同的项目,时间也不同,并且可能会关闭手机。。。 我可以节省计时器的时间,但是我不能设置它的开始时间 从中,方法setBase()说明: 设置计数计时器参考的时间 据我所知,这意味着如果我将此值设置为currentTime,它将以0开始计数。 现在,如果我想让它从值17s开始,

我有一个应用程序,在其中我向用户显示一个计时器,以了解他在做什么。 无论何时活动进入后台(通过home按钮还是back),我都会保存该时间(以秒为单位),当活动返回时,我希望从同一时间继续运行计时器。用户可能会从列表中选择不同的项目,时间也不同,并且可能会关闭手机。。。 我可以节省计时器的时间,但是我不能设置它的开始时间

从中,方法
setBase()
说明:

设置计数计时器参考的时间

据我所知,这意味着如果我将此值设置为currentTime,它将以0开始计数。 现在,如果我想让它从值17s开始,我想把基数设置为currentTime减去17秒前的时间。比如:

setBase(system.currentTimeMillis() - (17 * 1000)).
然而,这不起作用,它总是以0开始

我在这里读了一些其他的帖子,但没有一个答案有用。它总是以0开头


提前谢谢。

我想你得自己记录一些时间标记

Chronometer myChrono;
long baseTime;
long stopTime;
long elapsedTime;
设置基准时间时,您希望使用:

baseTime = SystemClock.elapsedRealtime() - stopTime;
myChrono.setBase(baseTime);
如果要查看时间流逝的程度,请使用:

elapsedTime = SystemClock.elapsedRealtime() - myChrono.getBase();
看看系统时钟

应改为

setBase(SystemClock.elapsedRealtime() - (17 * 1000))
一般而言:

mchrometer.setBase(SystemClock.elapsedRealtime()-(nr_/min*60000+nr_/sec*1000)))


希望这能为很多u组成员节省一些时间:)

我在onResume上做了一些额外的代码,它覆盖了我在onCreate方法上尝试的代码。我的错。。。谢谢你的帮助。如果你同时关掉你的手机呢?@NunoGonçalves,这是一篇老帖子,所以你大概知道了。但我刚刚为自己设计了一个生存重启解决方案。因此,如果它可以帮助您或其他人,请参阅:
setBase(SystemClock.elapsedRealtime() - (17 * 1000))