我正在开发SAPUI5 Hybrid移动应用程序,我想通过调用刷新函数来同步数据(即使该应用程序处于后台模式或该设备已锁定)。我该如何实现?
我尝试使用
暂停(设备就绪事件)-问题是,当应用程序进入暂停状态时,首先检查互联网连接以执行刷新,但是由于设备离线,它失败,我需要打开互联网然后继续运行该应用程序,然后将其放回暂停位置,以便成功工作。
cordova-plugin-background-fetch-无效。
cordova-plugin-background-mode-fixed-在将应用程序置于后台模式时仅“一次”起作用。
我对“ cordova-plugin-background-fetch”使用了以下命令,
var BackgroundFetch = window.BackgroundFetch;
var fetchCallback = function() {
console.log('[js] BackgroundFetch event received');
store.flush(sap.hybrid.flushStoreCallback, sap.hybrid.errorCallback, null, sap.hybrid.progressCallback);
BackgroundFetch.finish();
};
var failureCallback = function(error) {
console.log('- BackgroundFetch failed', error);
};
BackgroundFetch.configure(fetchCallback, failureCallback, {
minimumFetchInterval: 15, // <-- default is 15
stopOnTerminate: false, // <-- Android only
startOnBoot: true, // <-- Android only
forceReload: true // <-- Android only
});
将以下内容用于“暂停”监听器事件
document.addEventListener("pause", function () {
store.flush(sap.hybrid.flushStoreCallback, sap.hybrid.errorCallback, null, sap.hybrid.progressCallback);
}, false);
将以下内容用于“ cordova-plugin-background-mode-fixed”
cordova.plugins.backgroundMode.enable();
cordova.plugins.backgroundMode.on('activate', function () {
store.flush(sap.hybrid.flushStoreCallback, sap.hybrid.errorCallback, null, sap.hybrid.progressCallback);
});
基本上,我想对我的设备进行选型并每天刷新一次数据。如果还有其他方法可以实现,请帮助我。