Phonegap を使用して Android WebApp で作業しています。アプリケーションを終了するにはnavigator.app.exitApp
、JavaScript コードから呼び出しています。
このメソッドのドキュメント ページを見つけようとしましたが、存在しません。次に、Android 用の Phonegap ソース コードをダウンロードしましたが、このライブラリがネイティブ コードからアプリを終了する場所と方法が見つからず、迷子になりました。時間がないので、自分でテストすることにしました。
私のアプリには単一の DroidGap アクティビティ (singleInstance フラグで起動) だけでなく、サービスとブロードキャスト レシーバーもあります。ユーザーは GUI を閉じることができる必要がありますが、サービスとその他すべてを実行したままにしたいと考えています。だから私がやりたいのは、を呼び出す代わりに、アクティビティだけを終了することSystem.exit
です。
ここで奇妙な部分が来ます。これをシミュレーターでテストしたところ、DroidGap アクティビティは希望どおりに閉じているように見え (onDestroy が起動され)、サービスは実行され続けています。しかし、アクティビティが閉じられ、アプリのアイコンがタスク マネージャーに表示されなくなったにもかかわらず、どういうわけか JavaScript タイマーがまだ実行されています。私はこれをトリプルチェックしました。アクティビティがバックグラウンドにあると信じたいのですが、そうではありません.singleInstanceとして起動され、アプリを再度開くと最初のページが表示されます(別のページで閉じられました)。
なぜこれが起こるのですか?finish
アクティビティを直接呼び出すプラグインをコーディングする必要がありますか?
前もって感謝します。