当前位置: 首页 > 知识库问答 >
问题:

android服务在调用stopself后将如何重新传递意图

锺宜
2023-03-14

我试图理解当onStartCommand返回START\u REDELIVER\u意图时,服务将如何运行。

如果我们假设从一个活动中调用该服务几次。在onStartCommand中,我们收到意向和startID。例如,已收到以下信息:

onstart命令-意图A,startID=1

onStartCommand-intent B,startID=2

onstart命令-intent C,startID=3

onstart命令-intent D,startID=4

onStart命令-意图E, starID=5

1)如果我调用停止本身(id=3),服务被杀死,是否会重新传递带有starID 1、2、4和5的意图?还是只有id高的意图,即4和5被重新传递?

2)如果我打电话给停止自己(),这是否意味着已经计划重新交付的意图被取消?

如有任何反馈,我们将不胜感激,

卢佩。

共有1个答案

子车芷阳
2023-03-14

Android文档中的一些语句

"Stop the service if the most recent time it was started was startId"

“允许您安全地避免在onStart(Intent,int)中尚未看到来自客户端的启动请求时停止。”

因此,在您的示例中,调用stopSelf(3)不会停止您的服务。希望这能回答你的问题。

 类似资料:
  • 我是一个新的android和我正在学习的服务在android中,我已经创建了一个片段,其中我有一个按钮。在那个按钮点击我需要显示吐司一个消息。 这是我的服务班- 当我的片段类中的按钮单击时,我需要吐司消息。这是我的片段类- 现在我得到了一个例外

  • 问题内容: 我一直在为Android开发一个包含后台服务的PhoneGap应用程序。我的问题是:如何调试此服务?是否可以使用AVD进行调试并逐步进行?还是可以使用自己的设备来实现? 谢谢! 问题答案: 是的,可以使用AVD或设备来完成。查看http://www.helloandroid.com/tutorials/how-debug- service 和调试服务。

  • 问题内容: 我试图将URI对象传递给我的Intent,以便在另一个活动中使用该URI。 如何传递URI? 现在如何在其他活动中使用此URI? 感谢你们 问题答案: 您可以将uri存储为字符串 然后像这样将字符串转换回uri

  • 我在问之前找了很多,但似乎找不到一个适合我的解决方案。 我有一个函数,我需要在状态设置为新值后调用。 即使该函数是作为setState回调调用的,它仍然获得旧值。

  • 这可能是一个简单的问题。我尝试过谷歌搜索,但没有成功。我有一个DTO,它是从客户机传递过来的,由restful Web服务使用。但是得到这个例外 这是我的restful方法。 这是我平静的呼唤