gpt4 book ai didi

Android:谁开始 Activity

转载 作者:搜寻专家 更新时间:2023-11-01 07:38:24 24 4
gpt4 key购买 nike

我有 3 个 Activity :Activity1、Activity2、Activity3。 Activity1和Activity3可以启动Activity2:

startActivity (new Intent(this,Activity2));

如何在 Activity2 中检查哪个类启动 Activity2 ?有没有办法从 Intent 获取信息?谢谢...

我不想在 Intent 中放置任何东西。我想我不需要那个。当我开始 Intent 时,我已经说过我是从什么上下文做的 (new Intent(*this*,Activity2))。而这个“这个”我想在 Activity2 中识别!!!这可能吗?

最佳答案

您可以在 Intent 的“额外”Bundle 中传递该信息:

Activity1 中:

Intent intent = new Intent(this, Activity2.class);
intent.putExtra("caller", "activity1");
startActivity(intent);

Activity2中:

String caller = getIntent().getStringExtra("caller");

对于其他数据类型,如 booleanint 等,还有额外的 get/put 方法


至于为什么不能访问你在另一边创建Intent时提供的Context:

Android 对提供的 Context(即您的 this)所做的唯一事情是创建一个 ComponentName从中。该类仅保留所提供的 Contextpackage 并丢弃任何其他内容。

因此理论上您可以将您的 Activity 放入不同的包中,然后在接收端对其执行 getIntent().getComponentName().getPackageName() — 但请不要这样做。 Intent extras 是必经之路。

关于Android:谁开始 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7433612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com