我想从第三个活动获取数据到我的第一个活动。
看起来像是:
活动A(我的表格),我点击按钮生成测试 - >活动B(选择要连接的设备) - >活动C(生成数据) - >活动A(从活动C获取数据)
我想在同一个会话中生成许多测试,所以我想保留我的数据。
答案 0 :(得分:1)
如果数据采用字符串或整数形式,则可以使用SharedPrefrences来存储它们。在卸载应用程序或清除应用程序数据之前,数据将保持存储状态。您可以从应用程序的任何活动中存储和获取此数据。如果需要,示例为here
答案 1 :(得分:0)
您可以使用FLAG_ACTIVITY_CLEAR_TOP。
如果已设置,并且正在启动的活动已在当前任务中运行,则不会启动该活动的新实例,而是将关闭其上的所有其他活动,并将此Intent传递给(现在在最前面)作为新意图的旧活动。
对于您的示例,如果您有ActivityA,ActivityB,ActivityC,则可以使用
从ActivityC返回ActivityAIntent intent = new Intent(getContext(), ActivityA.class);
intent.setFlags(Activity.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtras(<DATA_NAME>, <DATA_VALUE>);
您的活动将使用包含您的数据的新意图启动。活动B和C将完成。