我编写了用于使用应用程序在后台或已被杀死的情况下使用react-native-background-job从服务器检索通知的代码。该代码可在所有其他版本的Android上运行,但不能在Android 8.1上运行。它没有运行,并且还会弹出一个通知“您的应用已关闭,请重新启动,发送反馈”。我知道这是由于Oreo对应用程序后台运行的执行限制所施加的限制。我应该对我的代码进行哪些更改以使其也可以在Android 8.1上运行?
const regularJobKey = 'regularJobKey';
let uid = 0; let id = 0;
const checking = () => {
axios.get('/getmessagecount').then(response => {
...
});
};
BackgroundJob.register({
jobKey: regularJobKey,
job: () => checking()
});
export default class App extends Component {
componentWillMount = () => {
BackgroundJob.schedule({
jobKey: regularJobKey,
period: 20000,
alwaysRunning: true
});
}
}