2011-07-15 11 views
0

私は現在listviewを持っています。アイテムをクリックするとにmediaplayerが表示されます。 listviewの別の項目をクリックすると、実行中のserviceが停止し、新しいserviceを実行する必要があります。これを処理する最良の方法は何でしょうか? onDestroyを使用することはできますか?どうもありがとう。Android-リストビューのアイテムをクリックするとメディアプレーヤーサービスを破棄します

答えて

0

このようなサービスを停止して再起動しないように頼んでも、アプリの必要性のような正確な状況はわかりません。

ListViewのonItemClick()context.stopService(yourServiceIntent)を呼び出してから、putExtra()と同じonItemClick()を使用して新しい入力でサービスを再起動する必要があります。

しかし、このサービスの停止と再開の手順の代わりに、応答時間を短縮してアプリケーションのパフォーマンスに影響を与える可能性があるので、お勧めします。

+0

私はあなたの提案を試みましたが、今問題は、サービスが実行されていない場合、アプリケーションはANRになります。サービスが実行されているかどうかを検出する方法はありますか? – Splitusa

+0

@SergioRaはいサービスを開始するときにフラグをtrueに設定し、サービスを停止して再起動する前にフラグをfalseに設定できます。フラグがtrueに設定されているかどうかを確認して再起動しないでください。 () 方法。私はフラグが一部の人にとって混乱したキーワードであることを知っています。ここでは、フラグはブール型の単純な変数、例えば 'boolean isServiceRunning'を宣言し、最初はfalseに設定してサービスステータスごとに値を変更することを意味します。 – Varundroid

+0

入手できます。助けてくれてありがとう。本当にありがたいです – Splitusa

関連する問題