将信息从服务转移到片段

时间:2020-09-27 05:46:56

标签: java android-studio android-fragments

我有一个片段和该片段调用的服务。
该片段包含一个量规,该服务使用设备的麦克风来测量声音。我想要量规反映声音。
我有办法将声音值从服务传输到片段吗? 我试图通过可打包的工具将量规对象从片段发送到服务,但是由于量规是来自自定义库的,因此无法对它进行打包或序列化。我还尝试过创建一个仅具有int属性的自定义类,将该对象从片段发送到服务,希望更新服务中的int属性将更新片段中的int,但没有成功。
我希望此更新在测量的每一秒发生,因此发送服务的OnDestroy信息对我不起作用。

您对我该如何做有什么建议?谢谢

1 个答案:

答案 0 :(得分:1)

对于服务和片段之间的通信,必须创建boundService。 每秒在服务中实现TimerTask将解决更新值的问题。 注意:我们可以在服务中使用声音值的liveData并将其观察者注册到片段中,这样,只要timertask更新值在livedata对象中,它将反映在片段中。