gpt4 book ai didi

Android 服务 - 多次调用 startService 并导致值混淆......

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:13:16 25 4
gpt4 key购买 nike

我的代码有一些条件调用,这些调用使用通过 bundle 传递到该服务的不同数据值启动相同的服务。当我检查只满足一个条件时,服务在所有条件下都可以正常工作。但是当 2 个或更多条件匹配时,它们会调用相同的服务,但 bundle 中的数据值不同。问题是当满足这种情况时,第一个调用发送的值不会被替换为第二个条件以启动相同的服务。所以服务响应错误。

是这样的

if(some cond)
{
some values in serivce intent bundle.startService(serviceintent1);
}
if(some cond)
{
some data in intent bundle.startService(serviceintent1);
}

当两个条件都满足时,调用 startService 两次。但我在第二个条件 startService 调用中从第一个条件获取值。

帮我解决这个问题...

最佳答案

您在 onStartCommand 中的返回类型是什么?

您应该了解服务的生命周期。 https://developer.android.com/reference/android/app/Service.html#ServiceLifecycle

我建议使用 IntentService,因为它是为处理异步任务而设计的,它也在工作线程中启动。 http://developer.android.com/reference/android/app/IntentService.html

要真正帮助您,您的服务代码非常重要:)

关于Android 服务 - 多次调用 startService 并导致值混淆......,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6399075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com