【问题标题】:Send an intent to only one service仅向一项服务发送意图
【发布时间】:2012-06-21 11:12:53
【问题描述】:

当一个服务正在运行时,是否可以只向一个服务发送一个意图? 我知道函数 startService()onStartCommand() 但我不想“启动”服务,在我的情况下它已经启动了。

所以我想知道是否可以仅针对一个广播接收器,或者它是否退出其他内容以仅发送到一项服务/活动?

我在sendBroadcast(intent) 之前对intent.setClass() 的尝试没有结果。

【问题讨论】:

  • startService() 不一定会再次启动该服务,如果它已经在运行。您是否尝试向特定的Service 对象发送消息?如果是这样,为什么?服务应该能够流畅地关闭和重新启动。请提供更具体的信息。

标签: android service android-intent intentfilter


【解决方案1】:

我知道函数 startService() 和 onStartCommand() 但我不想“启动”服务,在我的情况下它已经启动了。

startService() 仅通过onStartCommand() 将消息传递到服务的现有运行副本(如果存在这样的副本)。如果没有正在运行的服务副本,它将创建这样一个副本(从而触发对onCreate() 的调用)。

所以我想知道是否可以仅针对一个广播接收器,或者它是否退出其他内容以仅发送到一项服务/活动?

请使用startService()

【讨论】:

  • 我知道startService() 可以多次调用,但我怀疑这是一个好习惯。显然是的,所以我会使用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-11
  • 1970-01-01
相关资源
最近更新 更多