我有一组 Activity ,如 A、B、C、D。如果 A 是家庭 Activity ,我想通过 put Extras 将值从不同的 Activity 发送到 Activity A。
来自乙:
Intent intent = new Intent(B.this, A.class);
intent.putExtra("from_B", true);
startActivity(intent)
来自 C:
Intent intent = new Intent(C.this, A.class);
intent.putExtra("from_C", true);
startActivity(intent)
来自 D:
Intent intent = new Intent(D.this, A.class);
intent.putExtra("from_D", true);
startActivity(intent)
在 Activity A 中:
if (getIntent().getExtras() != null) {
isCreate = (boolean) getIntent().getSerializableExtra("-----");
}
谁能帮我在 Activity A 中的 (------) 位置应该保留什么,以便确定它是从哪个 Activity 调用的
最佳答案
在 Activity A 中,声明一个字符串标记:
public static final String TAG_ACTIVITY_FROM = "WhichActivity";
在其他 Activity 中,发送:
Intent intent = new Intent(D.this, A.class);
intent.putExtra(A.TAG_ACTIVITY_FROM, "From_D");
startActivity(intent);
在 A 中,用 :
取回它if (getIntent().getExtras() != null) {
String activityFrom = (String) getIntent().getStringExtra(TAG_ACTIVITY_FROM);
}
编辑: 你可以放任意多的额外内容,比如(来自Activity D)
Intent intent = new Intent(D.this, A.class);
intent.putExtra(A.TAG_ACTIVITY_FROM, "From_D");
intent.putExtra(A.VALUE, 4);
startActivity(intent);
在 Activity A 中:
public static final String VALUE = "value";
if (getIntent().getExtras() != null) {
String activityFrom = getIntent().getStringExtra(TAG_ACTIVITY_FROM);
int value = getIntent().getIntExtra(VALUE, -1);
}
关于java - 从多个 Activity 向单个 Activity 发送额外内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36691454/