我有一个启动本地服务以进行后台操作的 Activity。
它们都驻留在同一个进程上,因此它们之间的通信应该更简单。
但是,我不明白如何根据我的需要实现通信:
Activity 的行为:
创建时,检查服务是否已在运行:
- 如果它已经在运行,禁用开始按钮,并启用停止按钮。
- 否则,启用“开始”按钮并禁用“停止”按钮。
- 按下开始按钮时: 启动服务,并等待服务通知它已完成内部初始化。 (可能需要 10 秒以上)
- 按下停止按钮时:停止服务。
我的问题是如何让 Activity 在不忙等待的情况下监听 Service。
我可以根据这个 link 使用 IBinder , 但我将不得不忙着等待。
我很乐意提出建议。
最佳答案
您可以检查此链接以查看服务是否正在运行 How to check if a service is running on Android? 在通信的情况下,您可以使用本地广播
关于android - Android 上 Local Service 和 Activity 的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32500644/