【问题标题】:How to get the sending intent activity's name? [duplicate]如何获取发送意图活动的名称? [复制]
【发布时间】:2025-12-19 09:15:12
【问题描述】:

我有 Aactivity.java 和 Bactivity.java。

Aactivity 发送一个将用户传递给 Bactivity 的 Intent。
意图代码:

Intent intent = new Intent(Aactivity.this, Bactivity.class);
startActivity(intent);

如何获取 Intent 发送活动的名称(在本例中为 Aactivity)并将其存储在字符串中?

编辑#1:

我想获得一个包含向 Bactivity 发送意图的活动的字符串。
因此,如果 Aactivity 向 Bactivity 发送 Intent,那么我希望 Bactivity 将存储一个带有单词“Aactivity”的字符串。

【问题讨论】:

  • 我对这个问题不是很清楚。但为什么你不能将名字作为额外的意图传递?
  • 因为我不想检查额外的,因为那样的话,它会检查我将要做的每一个意图的额外,我不想要它。
  • 您能详细说明为什么不能使用附加功能吗?否则,@MikeM 发布的链接。我猜这就是你要找的东西
  • 阅读文档。 getCallingActivity.

标签: android class android-intent


【解决方案1】:

也将发送者活动的名称作为额外名称。 例如:

intent.putExtra("ACTIVITY_NAME_BUNDLE_ID", "FancyActivityName");

并且在接收者活动的 onCreate 方法中处理这个额外的:

String senderActivityName = getIntent().getStringExtra("ACTIVITY_NAME_BUNDLE_ID");

【讨论】:

    【解决方案2】:

    可以在Bactivity的onCreate()中获取intent的额外参数为

    String str= getIntent().getStringExtra("YOUR_KEY");
    boolean bool = getIntent().getExtra("fourthSection" , false);
    

    您可以使用 putExtra 在额外的意图中发送 Activity 的名称,但在调用 BActivity 的每个 Activity 中使用相同的键...

    【讨论】:

    • 不是很清楚。我正在寻找一种在不使用额外内容的情况下过滤活动的方法,因为它会在每次活动打开时检查这个额外内容。
    • 您可以使用 putExtra 在额外的意图中发送 Activity 的名称,但在您调用 BActivity 的每个 Activity 中使用相同的键...