gpt4 book ai didi

android - 将 Activity 绑定(bind)到 android 中正在运行的服务

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:21 25 4
gpt4 key购买 nike

我有一个启动时启动的服务 S。它有一个 contentobserver C,它启动一个 intentservice X 来做一些处理。默认 Activity A 由用户启动。

我想知道是否可以在不停止服务的情况下将 A 绑定(bind)到正在运行的服务 S,以便我可以将结果接收器 R 传递给 S,而 S 又必须传递给 X。

我想实现这一点,以便我可以再次启动 X,这次没有 C,来自绑定(bind)服务 S,R 作为可打包的额外服务。通过 R,无论何时运行,进度对话框都会在 A 中更新。

在使用 resultreceivers 尝试运气之前,我使用的是通知,它来自支持库。但问题是我正在为循环的每次迭代再次构建和显示它们。警报声重复播放了大约 300 次,令人不快。

尝试了广播的运气,但我有一些不好的经历。所以把它们扔掉了。

有没有其他办法解决这个问题?如果有一种方法可以通过重新构建更新通知来解决我的问题。

我使用的是 4.1.1 版本,API 16,其中 setlatesteventinfo 似乎已被弃用。

我仍然愿意回到更新正在运行的通知的想法。或者不同的解决方法。任何帮助将不胜感激。

编辑:

使用通知是实现此应用程序的一种方式,其中不需要 resultreceiver 和 ibinder 接口(interface)。

我在 API 级别 16 中找不到 setlatesteventinfo。我正在尝试使用 v4 支持库。在我的实现中,我为循环的每次迭代构建了一个新通知。但我还没有想出一种方法让声音只在第一次时保持警觉,而在其他时候则不。有人成功地正确更新了通知吗?

最佳答案

I want to know if it's possible to bind A to the running service S without stopping it

这当然是可能的。正如 Hoan 指出的那样,您需要从您的 Activity 中调用 bindService() 。 This article有一些关于如何做到这一点的示例代码。

至于你的问题的其余部分,它似乎可以分解成几个新问题。一次理解并回答所有问题真的很难。

关于android - 将 Activity 绑定(bind)到 android 中正在运行的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14984608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com