菜鸟教程小白 发表于 2022-12-11 22:27:33

android - 如果设备被锁定,计时器完成后的通知 - React Native EXPO?


                                            <p><p>我有一个在 React Native (EXPO) 上编写的计时器,类似于原生 Android 计时器。
我使用类似的东西:</p>

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

<p>在 iOS 和 Android 上,如何在计时器结束、设备锁定和屏幕关闭时触发音频信号或/和振动?
我应该使用一些 React Native 组件还是单独的包?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>通常,您可以运行 <code>setTimeout</code> 或 <code>setInterval</code> 以每隔几秒运行一个简单任务。不幸的是 <code>setTimeout</code> 在 React Native 的后台或挂起模式下不起作用。这对于普通的 react 原生应用和 <strong>ExpoKit</strong> 都是如此。</p>

<p>谢天谢地,<a href="https://github.com/ocetnik/react-native-background-timer?source=post_page---------------------------" rel="noreferrer noopener nofollow">React Native Background Timer</a>包允许您在应用程序处于后台时运行 <code>setTimeout</code>。在 Android 上,这适用于挂起模式和后台模式,而对于 iOS,它只在后台工作,而不是挂起模式。换句话说,在 iOS 上,只要应用程序在后台,并且手机处于锁定状态,它就可以工作,但在屏幕关闭时就不行。</p></p>
                                   
                                                <p style="font-size: 20px;">关于android - 如果设备被锁定,计时器完成后的通知 - React Native EXPO?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/55189372/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/55189372/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: android - 如果设备被锁定,计时器完成后的通知 - React Native EXPO?