【问题标题】:I need to constantly send data from one activity to another in Android我需要在 Android 中不断地将数据从一个活动发送到另一个活动
【发布时间】:2017-10-30 12:38:12
【问题描述】:

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

我可以通过以下方式“某种程度上”做到这一点,但这并不是我想要的,因为每次我有新数据传入时,UI 活动都会重新启动,因此“活动开始”动画每次都会发生。用户不会注意到此更新。有什么方法可以使用 Intent 将我需要的数据不断地从 MainActivity 传递到 UI,而无需每次都重新启动 UI

它现在是如何工作的,不受欢迎的 UI 重新启动:

在第一个活动上(MainActivity):

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

在第二个活动(UI)上:

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

谢谢!

阿特朗

【问题讨论】:

  • 你是如何获得 finalData 的?你也可以显示代码 sn-p 吗?
  • 为此使用 LocalBroadcastManager

标签: java android android-studio android-intent bluetooth


【解决方案1】:

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

您可以通过多种方式更新跑步活动的 UI,例如:

1) 服务可以broadcast意图,并且活动可以有一个监听器来监听意图

2) 你可以bind 一个活动到一个服务,然后使用服务中定义的方法/变量。

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2019-07-31
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    相关资源
    最近更新 更多