如何解决当应用程序在前台运行时,Reactnative codepush 不检查更新
下面的代码工作正常,但预期的情况是当应用程序处于活动状态并在前台运行时,它也假设检查更新并显示对话框,但它仅在应用程序重新启动时检查..
我检查了 official documentations 的 codepush,但这里没有任何问题..为什么当应用程序在前台处于活动状态时它不检查更新?
const App = () => {
let navigator;
const [restartAllowed,setRestartAllowed] = useState(false);
const [progress,setProgress] = useState(null);
const [syncmessage,setSyncmessage] = useState('');
useEffect(() => {
LogBox.ignoreLogs([
'ReactNativeFiberHostComponent',// Todo: Remove when fixed:react-native-scrollable-tab-view
'VirtualizedLists should never be nested',]);
if (navigator) {
setNavigator(navigator);
}
SplashScreen.hide();
syncImmediate();
},[navigator]);
const codePushDownloadDidProgress = (progress) => {
setProgress(progress);
};
const codePushStatusDidChange = (syncStatus) => {
switch (syncStatus) {
case CodePush.SyncStatus.CHECKING_FOR_UPDATE:
setProgress(true);
setSyncmessage('CHECKING_FOR_UPDATE');
break;
case CodePush.SyncStatus.DOWNLOADING_PACKAGE:
setProgress(true);
setSyncmessage('DOWNLOADING_PACKAGE');
break;
case CodePush.SyncStatus.AWAITING_USER_ACTION:
setProgress(true);
setSyncmessage('AWAITING_USER_ACTION');
break;
case CodePush.SyncStatus.INSTALLING_UPDATE:
setProgress(true);
setSyncmessage('INSTALLING_UPDATE');
break;
case CodePush.SyncStatus.UP_TO_DATE:
setProgress(false);
setSyncmessage('UP_TO_DATE');
break;
case CodePush.SyncStatus.UPDATE_IGnorED:
setProgress(false);
setSyncmessage('UPDATE_IGnorED');
break;
case CodePush.SyncStatus.UPDATE_INSTALLED:
setProgress(false);
setSyncmessage('UPDATE_INSTALLED');
break;
case CodePush.SyncStatus.UNKNowN_ERROR:
setProgress(false);
setSyncmessage('UNKNowN_ERROR');
break;
}
};
const syncImmediate = () => {
console.log('synced');
CodePush.sync(
{
checkFrequency: codePush.CheckFrequency.ON_APP_RESUME,installMode: CodePush.InstallMode.IMMEDIATE,updateDialog: {
appendReleaseDescription: true,optionalUpdateMessage:
'Updates here..',title: 'New Updates',optionalInstallButtonLabel: 'Yes',optionalIgnoreButtonLabel: 'No',},codePushStatusDidChange,codePushDownloadDidProgress,);
};
return (
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。