如何解决React-Native IOS:Background-Timer不在后台运行
尝试启动背景计时器。 我想运行代码,该代码也将在后台针对iOS执行。
我使用 react-native-background-timer库。
但是当我最小化应用程序时,代码无法运行。 我在模拟器以及IOS设备(调试和发布)上运行该应用程序。 但是,当应用程序最小化时,代码不会运行。
我的代码:
var myTimer;
componentDidMount(): void {
const time = BackgroundTimer.setInterval(() => {
Geolocation.getCurrentPosition(
position => {
const location = JSON.stringify(position);
console.log(position.coords.latitude);
this.setState({
location,latitude: position.coords.latitude,longitude: position.coords.longitude
});
});
}
}
解决方法
根据库documentation,BackgroundTimer.setInterval仅用于android。如果需要跨平台要在Android和iOS上使用相同的代码,请使用runBackgroundTimer()和stopBackgroundTimer()
BackgroundTimer.runBackgroundTimer(() => {
//code that will be called every 3 seconds
},3000);
//rest of code will be performing for iOS on background too
BackgroundTimer.stopBackgroundTimer(); //after this call all code on background stop run.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。