如何获得在android中停止服务的意图

Posted

技术标签:

【中文标题】如何获得在android中停止服务的意图【英文标题】:How to get the intent that stops the service in android 【发布时间】:2013-07-30 16:35:56 【问题描述】:

我正在使用stopService() 来停止服务。我想发送带有意图的额外数据。如何在服务中检索这些额外数据??

【问题讨论】:

stopService(intent_with_extras) - how do you read those extras from within the service to stop?的可能重复 【参考方案1】:

AFAIK,这个Intent 不会以任何方式传递给Service

您可以使用startService() 代替stopService() 来传递您的额外内容,并在其中包含一些导致您的服务调用stopSelf() 的内容。这将产生调用stopService()同时提供额外数据的净效果。

【讨论】:

【参考方案2】:

我知道这是一个老问题,但是,如果有人在寻找替代方案,您可以在您的 Service 中注册一个 BroadcastReceiver 以停止服务,然后从您的整个应用程序向此 receiver 发送广播。在这里,您可以获取从intent 发送到receiver 的所有信息。在receiver 内,只需调用stopSelf()

【讨论】:

以上是关于如何获得在android中停止服务的意图的主要内容,如果未能解决你的问题,请参考以下文章

android的停止后台服务

如何从注销按钮停止服务?

如何在 Android 中停止重复警报服务?

Android前台服务不会停止

Kivy:从主应用程序停止 android 服务

Android:在另一个活动中停止服务