web-dev-qa-db-ja.com

プログラムでPhonegapアプリを再起動する

プログラムで電話ギャップアプリを再起動するにはどうすればよいですか? navigator.app.exitApp()を使用してアプリを簡単に終了しますが、すぐに再起動したいです。

これが必要な理由は、ユーザーがセレクトボックスメニューからユーザーの言語を選択した後で再起動する必要があるためです。 i18nは、ユーザーが1ページの5つのボタンと別のページの段落を除いて、言語の選択を更新した直後に起動します。これらの5つの項目は以前の言語のままです(言語選択メニューのレイアウトも何らかの理由で完全に破壊されます)が、アプリケーションを再起動すると、すべて正しい言語で表示されます。 i18nプロセスに非常に複雑な問題があるか、強制的に再起動してバックドアで解決できます。

タイ、ナッティ

30
NuttySquirrel

私は以下を使用します:

location.reload(); 

私のために御馳走を働かせます。

ポール

40
Paul Higgins

これを試して

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

バクリ

10
user3210388

これはiOSで機能し、Android(少なくとも2016プラットフォームバージョンでは)です。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