我正在编写一个蓝牙远程控制应用程序来控制我的蓝牙机器人,但我很难理解 Android 应用程序的工作流程。我知道我想要什么,但做起来并不容易。其他回应并不令人满意。
这是我想要的粗略应用程序布局:
如果您对如何做这件事有更好的想法,我很乐意考虑。
主要是我的问题是从主 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/