我很好奇一个意图是否是一个集合活动的独特之处。
例如,我目前使用的意图是从活动1中提供一些数据并将其传递给活动2。
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("id", id.getText().toString());
intent.putExtra("weight", weight.getText().toString());
intent.putExtra("zipTo", zipTo.getText().toString());
intent.putExtra("locationId", locationID.getSelectedItem().toString());
intent.putExtra("imageNum", 1);
startActivity(intent);
现在,在MainActivity中,我可以使用以下代码来检索从上一个活动传递的数据。
Bundle bundle = getIntent().getExtras();
id = bundle.getString("id");
weight = bundle.getString("weight");
locationID = bundle.getString("locationID");
zipTo = bundle.getString("zipTo");
在MainActivity中完成一些工作后,我需要返回上一个将我们发送到MainActivity的活动(我需要最初发送的数据返回)。
我是否需要重新定义一个意图,然后执行" intent.putExtra" MainActivity中的每个值在发送到第一个Activity之前是什么?或者意图是全局的,一旦在一个活动中定义,我就可以在其他活动中使用getIntent()。getExtras()?
答案 0 :(得分:2)
意图不是全球性的。您只能访问通过传递的意图开始的活动中的捆绑包。
您应该使用startActivityForResult(intent)。这提供了您正在寻找的行为。
Getting a result from an activity
这个想法是你开始新的意图。在这种情况下' MainActivity'。完成MainActivity中的逻辑后,使用上述策略将结果传递回启动MainActivity的活动。
答案 1 :(得分:0)
通过意图传递的信息不是从一个活动到另一个活动的全局信息,全局是共享首选项和存储在manifest.xml中的元数据信息。