停止通过Notification Intent传递的服务

时间:2012-03-22 04:33:58

标签: android android-intent android-service android-activity android-view

在我的应用程序中,我在任务栏中收到通知,单击它时会启动我的程序的新活动视图。但是,当我尝试使用停止按钮从此视图中停止我的服务时,没有任何反应。我假设当我按下通知按钮时它没有将我的ACTIVITY与服务联系起来。

首次打开我的应用时,使用下面的意图启动服务:

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

然后在服务中:

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

知道如何链接回我的正在运行的服务吗?或者在选择通知时将原始活动/视图重新置于前面?

2 个答案:

答案 0 :(得分:2)

您可以附加到通知的意图应具有服务意图,并具有特定操作。在你的服务的onStart方法中,你可以检查它是一个关闭动作,然后你可以调用stopSelf()。

答案 1 :(得分:0)

如果您从通知中打开的活动是与服务相同的应用程序的一部分,那么它就能够停止该服务。尝试使用:

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