Android 活动同步

Android 活动同步,android,android-activity,synchronization,Android,Android Activity,Synchronization,我的应用程序有一个服务和一组活动 每个活动都包含一个小任务(例如要求用户插入一个数字或文本,或表达一个偏好) 服务启动活动或活动的子集 服务启动活动的顺序会随着工作时间的变化而变化 但每次,服务都必须在开始下一个活动之前等待活动结束(以获得活动结果) 我的想法是在两个活动执行之间的服务中使用wait()调用 每个活动都使用sendBroadcast将结果返回给BroadcastReceiver BroadcastReceiver执行notify()释放服务并将活动结果转发给服务 显然,这个想法行

我的应用程序有一个服务和一组活动

每个活动都包含一个小任务(例如要求用户插入一个数字或文本,或表达一个偏好)

服务启动活动或活动的子集

服务启动活动的顺序会随着工作时间的变化而变化

但每次,服务都必须在开始下一个活动之前等待活动结束(以获得活动结果)

我的想法是在两个活动执行之间的服务中使用
wait()
调用

每个活动都使用sendBroadcast将结果返回给
BroadcastReceiver

BroadcastReceiver
执行
notify()
释放服务并将活动结果转发给服务

显然,这个想法行不通。问题是:

1) 从一个服务启动许多活动会给我带来与每个活动所属任务相关的问题

2) 我不知道如何将信息从
BroadcastReceiver
传递到
服务
(第一次我在
服务
类中声明了
BroadcastReceiver
,但当服务进入
等待()
时,进程仍然被阻塞,并且
BroadcastReceiver
从未接收到)

请,我接受各种建议。也许是应用程序架构的变化


谢谢

流程通常是一个活动触发下一个活动。您应该重新构建,以便在准备完成()activity1时,您已经知道Activity2是什么,并从activity1开始。也许您的服务应该公开一个方法,您的活动可以调用该方法来确定下一个活动应该是哪个。这样做是可以的,因为服务和活动在同一个流程中运行,并且可以相互调用