当应用程序使用 react-native-background-task 在后台运行时如何调用函数?
Posted
技术标签:
【中文标题】当应用程序使用 react-native-background-task 在后台运行时如何调用函数?【英文标题】:How do I call a function when app running in background using react-native-background-task? 【发布时间】:2020-01-17 10:55:06 【问题描述】:当应用程序在后台运行时,我想使用“react-native-background-task
”组件调用componentDidMount()
或任何其他函数。这是我想使用但不知道是否正确的代码:
import BackgroundTask from 'react-native-background-task'
BackgroundTask.define(async () =>
this.componentDidMount();
BackgroundTask.finish();
);
export default class MyClass extends Component
componentDidMount()
this.someTask();
【问题讨论】:
【参考方案1】:你能更具体地解释一下吗?如果你想在应用启动时做任何思考,你可以在 App.js 的 componentDidMount();
componentDidMount()
this.job();
async job()
BackgroundTask.define(() =>
console.log('Hello from a background task')
BackgroundTask.finish()
)
或者:
BackgroundTask.define(() =>
console.log('Hello from a background task')
BackgroundTask.finish()
)
class MyApp extends React.Component
componentDidMount()
BackgroundTask.schedule()
render()
return <Text>Hello world</Text>
【讨论】:
我刚刚发现,当应用的状态发生变化时,我可以使用 AppState 来调用一个函数。那不是更好的解决方案吗? 其实我不确定哪个更好。以上是关于当应用程序使用 react-native-background-task 在后台运行时如何调用函数?的主要内容,如果未能解决你的问题,请参考以下文章
应用程序崩溃:当 writeVideoAtPathToSavedPhotosAlbum 使用 ALAssetsLibrary
当铃声静音时,如何防止我的应用程序(使用 AVPlayer)静音?
当应用程序从后台删除或设备重启时使用 NSURLSession 恢复任务