Android 中两个不同进程(服务和活动)之间的通信可以通过 Messenger 或 AIDL进行管理:活动绑定到服务就足够了。
但是,如果这个活动有一个或多个子活动会发生什么?从主要活动开始子活动的那一刻起,我希望将通信重定向到子活动;同样,当子活动被销毁时,我希望将通信重定向回主活动等。
示例#1:
- MyService <---IPC---> MainActivity
- MainActivity 启动 SubActivity,然后 MyService <---IPC---> SubActivity
- SubActivity 被销毁,然后 MyService <---IPC---> MainActivity
示例#2:
- MyService <---IPC---> MainActivity
- MainActivity 启动 FirstSubActivity,然后 MyService <---IPC---> FirstSubActivity
- FirstSubActivity 启动 SecondSubActivity,然后 MyService <---IPC---> SecondSubActivity
- SecondSubActivity 被销毁,然后 MyService <---IPC---> FirstSubActivity
- FirstSubActivity 被销毁,然后 MyService <---IPC---> MainActivity
如何处理这些情况?