从我的 activity 中的服务访问对象变量

Access object variable from service in my activity

在 MainActivity.java 中从新 activity 启动的服务中访问对象(在本例中为 BluetoothGatt 对象,但可以是任何变量)的最佳方式是什么?我已经绑定服务了?

我从 MainActivity.java 调用的 DialogFragment 中打开了一个新的 activity (SensorDataDisplay.java)。然后我使用 bindService 绑定到已经 运行 BluetoothLeService.java.

我需要能够在新 activity 中从我的服务访问 BluetoothGatt 对象。

您可以通过一些方式在 Activity 和服务之间进行通信。

  1. Bound Service。由于一次不能有 2 个 Activity 可见状态,因此一次只能将一个 Activity 绑定到服务。
  2. EventBus。 Event Bus 将帮助您在 Activity、Fragments、Threads、Services 等之间进行通信
  3. LocalBroadcastManager。 LocalBroadcastManager 向您的应用程序组件发送广播。

您可以使用适合您要求的任何一种。