将活动绑定到android中正在运行的服务

Har*_*lva 3 service notifications android

我有一个在启动时启动的服务S. 它有一个contentobserver C,它启动一个intentservice X进行一些处理.默认活动A由用户启动.

我想知道是否有可能绑定到正在运行的服务S不停止它,这样我可以通过一个resultreceiver [R至S这反过来将被传递到X.

我想实现这一点,这样我就可以再次启动X,这次是从C中解放出来的,来自绑定服务S,R作为一个可以包含的额外内容.通过R,只要它运行,就会在A中更新进度对话框.

在尝试使用resultreceivers之前,我正在使用通知,即支持库中的通知.但问题是我正在为循环的每次迭代构建并再次显示它们.警报声重复播放了300多次,令人不快.

试过我的广播节目,但我有一些糟糕的经历.所以把它们扔掉了.

有没有其他办法解决这个问题?如果有办法通过再次构建通知来更新通知,我的问题就可以解决了.

我正在使用4.1.1 build,API 16,其中似乎不推荐使用setlatesteventinfo.

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

编辑:

使用通知是实现此应用程序的一种方法,其中不需要结果接收器和ibinder接口.

我在API级别16中找不到setlatesteventinfo.我正在尝试使用v4支持库.在我的实现中,我为循环的每次迭代构建了一个新通知.但我还没有找到一种方法来保持声音仅在第一次发出警报而不是其余部分.有没有人成功正确更新通知?

Ant*_*hyn 6

我想知道是否可以将A绑定到正在运行的服务S而不停止它

这当然是可能的.正如Hoan指出的那样,您需要从您的活动中调用bindService().本文提供了一些有关如何执行此操作的示例代码.

至于你的其余问题,它似乎可以分解为几个新问题.很难理解并立即回答所有问题.