【发布时间】:2019-02-22 18:31:56
【问题描述】:
我正在构建一个应用程序,该应用程序有一个计时器,可以在计时器处于活动状态时请求地理定位。对于计时器,我使用react-native-background-timer。这有点工作,但不完全符合我的要求。
有了这段代码:
BackgroundTimer.runBackgroundTimer(() => {
console.log('tic');
},
1000);
当应用程序处于后台时,计时器将停止。使用这段代码:
const intervalId = BackgroundTimer.setInterval(() => {
console.log('tic');
}, 1000);
即使在后台它也会不断运行,但我无法阻止它。当我运行BackgroundTimer.clearInterval(intervalId); 时,计时器仍在运行。即使当我离开屏幕并返回主屏幕时,计时器仍会滴答作响并且永不停止。这并不理想,因为我需要计时器运行几分钟然后停止。
我将计时器设置为 1 秒以更新屏幕上剩余的时间。我正在考虑设置一次 6 分钟的计时器,但是如何每秒更新一次状态?为此制作 2 个计时器感觉是一种糟糕的做法,即使它会起作用。
所以为了更清楚,用户假设从事某些活动,例如步行几分钟。因此,当用户接听电话或打开音乐应用程序以切换音乐或其他内容时,我不能让计时器停止。计时器仍然需要运行,我需要通过地理位置测量步数和距离。即使用户打开另一个应用程序,忘记了我的应用程序,它也需要完美地工作,它仍然会运行剩余的时间,然后记录到数据库并停止。
【问题讨论】:
标签: javascript react-native timer