在Android捆绑包中节省时间

在Android捆绑包中节省时间,android,Android,如何将当前时间保存在via Bundle中,然后在应用程序返回前台时,在Toast中显示应用程序最小化后的时间。将问题分解为更小的部分将使您更轻松 首先,可以使用获取当前系统时间 你似乎也已经意识到了 在onSaveInstanceState中,您可以简单地将当前时间添加到状态包中,如下所示: @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState

如何将当前时间保存在via Bundle中,然后在应用程序返回前台时,在Toast中显示应用程序最小化后的时间。

将问题分解为更小的部分将使您更轻松

首先,可以使用获取当前系统时间

你似乎也已经意识到了

在onSaveInstanceState中,您可以简单地将当前时间添加到状态包中,如下所示:

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);

    long currentTime = SystemClock.elapsedRealtime();
    savedInstanceState.putLong("time", currentTime);
}
在onRestoreInstanceState中获取该时间只需调用savedInstanceState.getLongtime


然后再次调用SystemClock.elapsedRealtime获取恢复时间,做一些基本的数学计算,计算出经过的时间,然后举杯庆祝。

。。然后再打一次电话给elapsedRealTime此外,这将导致问题时,配对-已用时间重置与重新启动。谢谢更正。在本例中,我特别选择了elapsedRealtime,因为重新启动并不重要。重新启动将清除活动的任何已保存实例状态,因此不会调用onRestoreInstanceState。不过,对于任何希望在其他地方使用此方法的人来说,这绝对是一个不错的选择。android:persistableMode=persistAcrossReboots在清单中的活动上,因为API21可以做到这一点。你在上面找不到什么:例如