2016-09-22 20 views
0

のChromeアプリケーションのイベントを管理する方法を見つけましたが、終了するのにうまくいきますが、アプリケーションを再起動するためにはうまくいきません。 再起動の意味:右クリックして Chrom Appウィンドウで「Reload Application」をクリックします。 Google App DocsChromeアプリケーションの再起動

によると、私のbackground.js

chrome.app.window.create('index.html', { 
    'state': "maximized" 
}, 
function(aWindow) { 
     aWindow.onClosed.addListener(function(e) { 
      console.log('close'); 
     }); 
}); 

確かonRestart()のようなメソッドが存在しないの

ワンピースは、誰かがこのための解決策を見つけていますか?開発中に私用として

「再起動」、というよりも「閉じる」 + 「スタート」あなたの説明に合うように思われるAPIのイベントがあります

+4

はこれを試してみてくださいコメントで@wOxxOmによって提案されたよりもきれいです: 'で、chrome.storage.local''へ値を書き込むonClosed'開始(読み出し、削除)にそれをチェック - それが存在しなければ、アプリは再開されました。しかし、再起動する前に何かすることはできません。 – wOxxOm

+0

@wOxxOmトリックに感謝します。素晴らしい解決策ではありませんが、とにかく、これは参考になります。 –

答えて

0

を使用する方が快適です:chrome.app.runtime.onRestarted

クロームは最後のシャットダウン時に実行されていた、またはアプリはfoが以前の状態から再起動するように要求されたときのアプリケーションにクロームの起動時に解雇r他の理由(例:ユーザーがアプリケーションの保持ファイルへのアクセスを取り消すと、ランタイムはアプリを再起動します)。このような状況では、アプリケーションにonRestartedハンドラがない場合、代わりにonLaunchedイベントが送信されます。

+1

これはChrome全体の再起動の場合です。 右クリック - > "ブラウザの再起動をシミュレートする" しかし、悲しいことに、アプリの再起動にはうまくいきません:( –

+0

@AndriiBogachenkoこれは実際にはバグのようです:この機能の説明には、前の状態 "となる。 – Xan

1

おかげXAN@、アプリケーションがapp`s上で、再起動するかどうかを定義する方法がありますchrome.app.runtime.onLaunched

に彼のURLを修正I`ll開始:

chrome.app.runtime.onLaunched.addListener(function(launchData) { 
    if (launchData.source == "reload") { 
     console.log('restarted'); 
    } 
    chrome.app.window.create('index.html', { 
     'state': "maximized" 
    }); 
    // ... 
}); 

こと実際には私の質問に対する答えではありません。以下の点で:Restart = Close + Start。私は、に、開始コードではなく、を閉じることに興味があります。

はとにかく、このソリューションは

関連する問題