gpt4 book ai didi

java - 一旦用户或设备关闭应用程序,如何在 onPause() 之后保存数据?

转载 作者:行者123 更新时间:2023-12-02 00:11:07 28 4
gpt4 key购买 nike

我有一个简单的应用程序,可以使用 Sensor.TYPE_STEP_DETECTOR 来计算步数。该传感器在应用程序设置到后台后不会取消注册,这意味着即使它没有处于焦点状态,它也会继续跟踪步数。一旦应用程序恢复,计步器 UI 就会更新为自上次获得焦点以来计算的步数。

我的目标是让应用程序在后台关闭后保存数据。它已经保存了 onPause() 但我还没有找到任何与应用程序关闭时相关的方法。

起初,onDestroy() 似乎是显而易见的地方,但它不能保证被调用,因为它似乎只有在调用 finish() 或系统想要清理空间时才会被调用。

我还看到了涉及使用后台服务或作业调度程序的解决方案。后台服务将无法工作,因为从 API >= 26 开始,后台服务会在几分钟后停止。我认为作业计划程序不起作用,因为我不知道用户何时可能关闭应用程序,并且我希望步骤尽可能准确,因此找到安排作业的时间间隔将很困难。

我正在寻找一个简单的位置来基本上执行我的 onPause() 方法已经执行的操作。

@Override
protected void onPause() {
super.onPause();

saveSteps(currentSteps);
running = false;
}

最佳答案

到底是什么问题?您只想在其他地方复制 onResume 吗?如果是这样,您可以在 onRestart/onResume 函数中执行此操作,因为传感器未未注册,您可以获得相同的结果,但我不知道这会如何改变您的情况。

关于java - 一旦用户或设备关闭应用程序,如何在 onPause() 之后保存数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58120583/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com