android – 如何最好地实现共享一项服务的两项活动(w.蓝牙连接)?

android – 如何最好地实现共享一项服务的两项活动(w.蓝牙连接)?,第1张

概述现在,主要活动(Act.A)启动一个持有蓝牙连接的服务. (它绑定服务) 该服务是BluetoothChatService的修改版(Android蓝牙示例)… …根据MessengerService(Android Remote Messenger Sample)添加了Messenger和Handler进行了修改 活动A确保蓝牙连接到外部设备,然后启动另一项活动(行动B). 问题是让服务继续运行并 现在,主要活动(Act.A)启动一个持有蓝牙连接的服务.
(它绑定服务)

该服务是BluetoothChatService的修改版(AndroID蓝牙示例)…
…根据MessengerService(AndroID Remote Messenger Sample)添加了Messenger和Handler进行了修改

活动A确保蓝牙连接到外部设备,然后启动另一项活动(行动B).

问题是让服务继续运行并顺利地为新活动提供蓝牙连接.我不知道如何:

>当从活动A切换到B时,确保服务未重新启动或重新安装
>确保消息传递功能按预期工作(从当前活动的活动)

我是否需要将服务重新绑定到新活动,以及如何确保BT连接不会丢失(由于其他服务实例)?
或者我是否需要将Messenger对象传递给新活动以与alread实例化的Service进行通信.如果是这样,我该如何做到最好?

非常感谢答案!

解决方法 使服务“粘滞”,以便它继续运行.并为您的2个活动创建一个基本Activity类.基本Activity类可以处理与服务绑定的所有常见功能,并提供正确的通信.我肯定会建议在活动暂停时取消绑定您的服务,并在活动恢复时重新绑定它们.但是这可以在公共基类活动中完成一次.

绑定到服务只应在它尚未运行时启动,如果在Resume / Pause中绑定/取消绑定,则在任何给定时间都应该只有一个活动连接到服务.

总结

以上是内存溢出为你收集整理的android – 如何最好地实现共享一项服务的两项活动(w.蓝牙连接)?全部内容,希望文章能够帮你解决android – 如何最好地实现共享一项服务的两项活动(w.蓝牙连接)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1130912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存