java - 从多个 Activity 向单个 Activity 发送额外内容

标签 java android android-activity

我有一组 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/

相关文章:

java - 如何将字符串拆分为包含值列表的映射?

java - 从字符串中删除某些大括号

android - Twitter4j - 无法解析方法 - setUsessl(boolean)

android - 是否可以在 Android Studio 中使用 crosswalk-cordova?

java - PDFBox:如何修改页面并将更改保存到新文件(例如删除链接注释)?

java - 具有字节数组键和字符串值的 HashMap - containsKey() 函数不起作用

Android 上的 Java - 出现 InputStream 超时错误的奇怪套接字行为

java - 通过 JSON 数据检索号码

android - 显示 Android Activity 的 onPause View

android - 如何在android中像照片库一样显示mysql数据库中的图像?