android - 从不同的 Activity 访问服务/线程

标签 android

我正在编写一个蓝牙远程控制应用程序来控制我的蓝牙机器人,但我很难理解 Android 应用程序的工作流程。我知道我想要什么,但做起来并不容易。其他回应并不令人满意。

这是我想要的粗略应用程序布局:

enter image description here

如果您对如何做这件事有更好的想法,我很乐意考虑。

主要是我的问题是从主 Activity 的连接方法和控制 Activity 访问连接线程/服务(无论名称是什么),我如何传递引用?我知道主 Activity 在应用程序的子 Activity 中可能会消失,所以我可能必须通过 getExtra() 传递引用,但它只需要一个 String 变量...

最佳答案

您可能想考虑的一种方法是使用 Bound Service.这可以返回一个 IBinder 接口(interface),允许访问服务的公共(public)方法。您可以将您的任何 Activity 绑定(bind)到该服务,从而向该服务传递数据/从该服务检索数据。

如果您需要服务立即与 Activity 通信(例如失去连接),则服务可以使用 sendBroadcast 通知已注册 BroadcastReceiver 的 Activity收听广播中发送的 Intent 。

关于android - 从不同的 Activity 访问服务/线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11807800/

相关文章:

android - 带有对象名称的 For 循环

java - 毕加索不会加载图像 (Android)

android - 缺少 Barrier 的约束警告 - Bug?

java - 是否可以通过 GSON 将 ImageView 发送到另一个 Activity?

java - 添加外部库后的 Android Studio 错误

java - 如何使用优先级(字符串)Android 对自定义列表进行排序

android - WebView 和 HTTPClient 之间共享 Cookies?

c# - 在android中访问azure中的机器人

java - 实现垂直搜索栏 - 如何在 Android Studio 中添加新类?

android - BlurMask Ffmpeg中的半径值无效