2011-02-07 11 views
1

サービスはバックグラウンドで実行されており、通知はGUIで表示されます。 アプリケーションからアプリケーションを強制終了すると、通知バーの サービス、アプリケーション、アイコンが消えます。Android ::サービスを強制終了するにはどうすればいいですか

私はTaskKillerアプリケーションでアプリケーションを終了すると、サービス が停止し、Android OSがサービスを再起動します(私はlogcatから見ることができます) と通知エリアのアイコンが残ります。私の背景作業( ダウンロードイメージの)は閉じられています。

私は OnStartCommand()からSTART_STICKY(STArT_NOT_STICKYフラグでも試みました)を返しますが、運はありません。私のGUIアクティビティは、 Context.BIND_AUTO_CREATE経由でサービスにバインドします。そのフラグのためですか?

アプリケーションがタスクキラーによって殺されたときに、アプリケーション、サービス、および通知 エリアアイコンを消したい場合はどうすればよいですか。

ソリューション

が活動から始まったときにサービスに渡された意図にフラグを使用してこの問題を解決しました。 OSがクラッシュ/タスクキラーの後にサービスを再起動すると、サービスはヌルインテントを受け取ります

答えて

1

私の最初の質問は、あなたのサービスをタスクキラーが殺したいと思う理由でしょうか?言い換えれば、あなたのサービスをタスクキラーを介して殺害する必要がある理由は何ですか? stopSelf()、stopService()、またはstopForeground()を使用して適切な時間にサービスを停止することをお勧めします(開始方法に応じて、これらのいずれかが必要です)。それをどのように止めたいのか)。私はあなたが実際に何をしているのか分からない場合、私はあなたにそれを行う方法を提案することはできません。

私の推測では、あなたのアクティビティのサービスからアンバインドしていないので、サービスは自動的にアンドロイドシステムによって再起動されます。つまり、あなたのサービスがあなたの活動に必要なものとして評価されているからです。推測を確認するには、logcatの出力をここに投稿してください。

+0

ありがとうございました。私のアプリケーションがきれいに終了しているかどうかをチェックしていました。私のアプリがいくつかのタスクキラーアプリで殺されたような突然の事態が起こった後に正常に起動します。この問題は、アクティビティから開始したときにサービスに渡されたインテントのフラグを使用して解決しました。クラッシュ/タスクキラー後にOSがサービスを再起動すると、サービスはヌルインテントを受け取ります。 – JRC

関連する問題