web-dev-qa-db-fra.com

Redémarrez mon application Phonegap par programme

Comment redémarrer par programme mon application PhoneGap? Je quitte facilement l'application via navigator.app.exitApp (), mais j'aimerais qu'elle redémarre immédiatement.

La raison pour laquelle j'ai besoin de cela, c'est que je dois le redémarrer après que l'utilisateur a choisi sa langue d'utilisateur dans un menu de sélection. L'i18n se déclenche immédiatement après que l'utilisateur a mis à jour son choix de langue, à l'exception de 5 boutons sur 1 page et un paragraphe sur une autre page. Ces 5 éléments restent dans la langue précédente (la disposition du menu de sélection de la langue est également complètement détruite pour une raison quelconque), mais lorsque je redémarre l'application, ils sont tous dans la langue correcte. Il y a soit un problème très compliqué avec le processus i18n, soit je peux le résoudre en backdoor avec le redémarrage forcé.

Ty, Nutty

30
NuttySquirrel

J'utilise ce qui suit:

location.reload(); 

Fonctionne un régal pour moi.

Paul

40
Paul Higgins

Essaye ça

navigator.app.loadUrl("file:///Android_asset/www/index.html", {wait:2000, loadingDialog:"Wait,Loading App", loadUrlTimeoutValue: 60000});

Bakri

10
user3210388

Cela fonctionne pour iOS et Android (au moins avec les versions de plate-forme 2016). Il fonctionne également dans les applications SPA.

// keep startup url (in case your app is an SPA with html5 url routing)
var initialHref = window.location.href;

function restartApplication() {
  // Show splash screen (useful if your app takes time to load) 
  navigator.splashscreen.show();
  // Reload original app url (ie your index.html file)
  window.location = initialHref;
}
7
Sebastien Lorber