如何在React Native for Android 8.1(Oreo)中执行后台工作

时间:2018-09-05 08:21:50

标签: react-native

我编写了用于使用应用程序在后台或已被杀死的情况下使用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  
        });  
    }
}

0 个答案:

没有答案