如果设备被锁定,计时器结束后会发出通知-React Native EXPO?

时间:2019-03-15 19:15:07

标签: android ios react-native expo

我有一个在React Native(EXPO)上编写的计时器,类似于本地Android计时器。 我使用类似的东西:

setTimeout(() => {
    Vibration.vibrate(PATTERN, true); // this works only when app is active
}, 60 * 1000); // time in range 1 - 120 min. 

在iOS和Android上完成计时器且设备被锁定且屏幕关闭时,如何触发音频信号或振动? 我应该使用某些React Native组件还是单独的软件包?

1 个答案:

答案 0 :(得分:0)

通常,您可以每隔几秒钟运行setTimeoutsetInterval来运行一个简单的任务。令人遗憾的消息是setTimeout无法在React Native的后台或暂停模式下运行。对于普通的React本机应用程序和 ExpoKit 都是如此。

值得庆幸的是,React Native Background Timer程序包使您可以在应用程序在后台运行setTimeout。在Android上,这适用于暂停模式和后台模式,而对于iOS,它仅适用于后台模式,而不适用于暂停模式。换句话说,在iOS上,只要应用程序在后台且手机处于锁定状态,它就可以工作,但在屏幕关闭时则无效。