java - 我需要不断地将数据从 Android 中的一项 Activity 发送到另一项 Activity

标签 java android android-studio android-intent bluetooth

在我的MainActivity中,我正在进行蓝牙连接过程,我想不断地将到达的数据发送到另一个 Activity (UI),以便它可以正确显示给用户。

我能够“某种程度上”通过以下方式执行此操作,但这并不完全是我想要的,因为每次有新数据传入时 UI Activity 都会重新启动,因此每次都会出现“Activity 开始”动画。用户应该不会注意到此更新。有没有什么方法可以使用 Intents 将我需要的数据不断地从 MainActivity 传递到 UI,而无需每次都重新启动 UI

到目前为止,它是如何工作的,不良的UI重新启动:

在第一个 Activity (MainActivity)上:

  Intent UIdata = new Intent(MainActivity.this, UI.class);
  UIdata.putExtra("data", finalData);
  startActivity(UIdata);

第二个 Activity (UI):

  Bundle dataIn = getIntent().getExtras();
  if (dataIn != null){
    String UIdataIn = dataIn.getString("data");
  }

谢谢!

阿特·朗

最佳答案

你想做的事情在逻辑上是有缺陷的。 Activity 只有在前面时才是“Activity 的”。如果您需要即使在后台也能连续发送/接收数据的东西,您需要使用 Service .

从那里您有多种可能性来更新正在运行的 Activity 的 UI,例如:

1)服务可以broadcast Intent 和 Activity 可以有一个监听 Intent 的监听器

2) 您可以 bind Activity 到服务,然后使用服务中定义的方法/变量。

关于java - 我需要不断地将数据从 Android 中的一项 Activity 发送到另一项 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47015500/

相关文章:

java - 使用 else if 语句设置 imageview 的背景

android - 构建后字符在 strings.xml 中变成问号

java - 安装 Facebook sdk 时设置 gradle 文件

java - 每个 Java 平台上是否有不同的 JDK 或 JVM?

java - 在 Java 中将整数转换为字节

java - 将数据从一个 Activity 传递到 ArrayList 项目单击上的另一个 Activity

android - 如何清除缓存Android

java - 这种观点不受约束。它只有设计时位置,因此除非添加约束,否则它将在运行时跳转到 (0,0)

java - 如何解决 Spring UnsatisfiedDependencyException 错误?

java - Android:startActivity() 适用于一个 Activity ,但不适用于另一个 Activity