我需要从我的应用程序中分离代码。该服务似乎完成了我需要的工作,除了一件事。我的活动需要 1 个在无限循环中运行的工作线程 (ListeningThread)(监听,直到服务停止)并且应用程序还调用自定义方法,应该只执行一次(几乎立即)。
到目前为止,我的(模糊)想法是拥有一个启动工作线程的服务+自定义方法可能以类实例的方式调用---> service.customMethod()。
我遇到了 iBinder,这是(唯一的)解决方案吗?或者有没有其他方法可以做到?
为什么使用无限循环线程只监听服务停止?您可以使用LocalBroadcastManager或系统范围的广播来执行此操作。如果活动和服务之间的通信非常频繁,则需要IBinder。检查这个, 这个和这个。