1

私のアプリケーションでは、タスクバーに通知があり、クリックすると自分のプログラムの新しいアクティビティビューが開始されます。しかし、このビュー内からサービスを停止するために停止ボタンを使用しようとすると、何も起こりません。通知ボタンを押すと、サービスにリンクされているACTIVITYが保持されないと想定しています。通知インテントを通して渡されたサービスを停止する

私のアプリが最初に開かれると、サービスは下記の意向使用することによって開始された:私の実行中のサービスにリンクする方法

//Intent passed when notification is selected. 
Intent notificationIntent = new Intent(this, HomeActivity.class); 

任意のアイデア:サービスに続いて

Intent svc = new Intent(this, StreamService.class); 
startService(svc); 

を?または、通知が選択されたときに元のアクティビティ/ビューを前面に戻すことは可能でしょうか?

答えて

2

通知に添付できるインテントには、特定の操作を含むサービスのインテントが必要です。サービスのonStartメソッドでは、それがクローズアクションであることを確認してからstopSelf()を呼び出すことができます。

+1

私が望むのは、最後のビューを開くことです。サービスを停止することは、そのビュー内で行うことができることです(サービスは音楽を再生しています)。私はあなたのアドバイスをどのように使用するかまだ分かりません。再生停止ボタンは、サービスにリンクしていないため動作していません。それで、私は推測します。 – Brianjs

+0

通知 - >アクティビティを開始、アクティビティ - >サービスを終了します(直接またはインテント)。 –

+0

大変申し訳ございませんが、古いif文で機能を無効にしていました。 – Brianjs

0

通知から開いているアクティビティがサービスと同じアプリケーションの一部である場合、サービスを停止することができます。してみてください:

Intent svc = new Intent(this, StreamService.class); 
stopService(svc); 
関連する問題