android - Android 上 Local Service 和 Activity 的通信

标签 android android-activity android-service

我有一个启动本地服务以进行后台操作的 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/

相关文章:

java - 改造 android @Multipart 删除默认 header

android - 更改 Activity 时保留对象

android - onSaveInstanceState 总是返回 null

android - 打盹模式如何影响后台/前台服务,有/没有部分/全部唤醒锁?

android - 为什么我的 Android 服务在我启动 Activity 时被终止?

java - 检查 10 位数字后的小数 - substring(i,1) 不工作

android - drawLines 方法在缩放的 Canvas 上产生奇怪的效果

java - 将字符串从 Activity 传递到服务

android - Android Activity 中的主循环

用于 getRunningServices 的 Android O 替换