我正在编写一个蓝牙远程控制应用程序来控制我的蓝牙机器人,但我很难理解 Android 应用程序的工作流程。我知道我想要什么,但这并不容易。其他反应并不令人满意。
这是我想要的粗略应用程序布局:
如果您对如何做这件事有更好的想法,我很乐意考虑。
主要是我的问题是从主活动的连接方法和控制活动访问连接线程/服务(无论名称是什么),我如何传递引用?我知道在应用程序的子活动中主要活动可能会消失,所以我可能不得不通过引用传递getExtra()
,但它只需要一个String
变量......
我正在编写一个蓝牙远程控制应用程序来控制我的蓝牙机器人,但我很难理解 Android 应用程序的工作流程。我知道我想要什么,但这并不容易。其他反应并不令人满意。
这是我想要的粗略应用程序布局:
如果您对如何做这件事有更好的想法,我很乐意考虑。
主要是我的问题是从主活动的连接方法和控制活动访问连接线程/服务(无论名称是什么),我如何传递引用?我知道在应用程序的子活动中主要活动可能会消失,所以我可能不得不通过引用传递getExtra()
,但它只需要一个String
变量......
您可能要考虑的一种方法是使用绑定服务。这可以返回一个IBinder接口,允许访问服务的公共方法。您可以使您的任何活动绑定到服务,从而向/从服务传递/检索数据。
如果您需要服务立即与活动通信(例如丢失连接),则服务可以使用sendBroadcast通知已注册BroadcastReceiver的活动以侦听广播中发送的意图。