Java &引用;getIntent()";-工作原理

Java &引用;getIntent()";-工作原理,java,android,android-intent,Java,Android,Android Intent,学习如何制作android应用程序,我做了这个啧啧。图坦卡蒙的总结如下: 我想弄清楚意图是如何运作的。在tut中创建一个名为Intent的Intent,在DisplayMessageActivity.java中,它通过调用“getIntent()”创建一个名为Intent的Intent “getIntent()”函数(或方法(我最熟悉C))是否只返回最近创建的intent?一次只能有一个意图吗 请提前回复 getIntent()方法获取调用此活动的intent。可以有多个intent,但一次只

学习如何制作android应用程序,我做了这个啧啧。图坦卡蒙的总结如下:

我想弄清楚意图是如何运作的。在tut中创建一个名为Intent的Intent,在DisplayMessageActivity.java中,它通过调用“getIntent()”创建一个名为Intent的Intent

“getIntent()”函数(或方法(我最熟悉C))是否只返回最近创建的intent?一次只能有一个意图吗

请提前回复

getIntent()
方法获取调用此活动的
intent
。可以有多个intent,但一次只能看到一个intent(因为一次只能看到一个活动)

您将使用两种主要形式的意图

明确意图已指定组件(通过 setComponent(ComponentName)或setClass(Context,Class)),其中 提供要运行的确切类。这些通常不包括任何 其他信息,只是应用程序启动的一种方式 当用户与 应用隐式意图未指定组件;相反 它们必须包含足够的信息,以便系统确定 为了达到这一目的,最好运行所有可用组件

意图是一个数据类,它保存即将启动的活动的信息。活动是当前显示在屏幕上的视图的管理器或控制器

系统中的活动作为活动堆栈进行管理。当一个新的 活动启动后,将其放置在堆栈顶部并成为 正在运行的活动--上一个活动始终保持在其下方 在堆栈中,直到新的 活动退出

通常通过创建。假设您正在进行第一次活动:

Intent intent = new Intent(MyFancyActivity.class, Intent.ACTION_VIEW);
startActivity(intent);
这将启动一个新的
MyFancyActivity
实例。从
MyFancyActivity
,您可以检索导致创建该实例的意图。也就是说,
getIntent()
方法:

// this is the intent created in your first activity
Intent i = getIntent();

所有活动均通过
startActivity(Intent)
startActivityForResult(Intent,int)
方法启动。意图告诉活动它需要知道的一切,以便在启动时显示正确的信息
getIntent()
在活动中调用时,会向您提供用于启动此活动的意图的引用。

意图不是快速编写的活动,我在文字上犯了错误。启动活动是否始终需要意图?或者startActivity会接受其他类型的参数吗?你总是需要一个意图。意图可以包含各种各样的信息,比如哪个活动要求启动这个活动,额外的是基本变量和用于告诉新活动必须处理哪些数据的可打包对象,并且您还可以指定您希望新活动执行的操作(即浏览某物、选择值等)。在任何情况下,活动只能以意图启动,因此getIntent()永远不会返回
null
。谢谢!这帮了大忙