“getIntent()” - 它是如何工作的

时间:2014-03-01 18:28:02

标签: java android android-intent

学习如何制作Android应用程序,我做了这个。啧啧的摘要在这里:

http://sketchytech.blogspot.com/2012/10/android-simple-user-interface-activity.html

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

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

预先提出任何回复!

4 个答案:

答案 0 :(得分:1)

所有活动均由startActivity(Intent)startActivityForResult(Intent, int)方法启动。意图告诉活动在启动时显示正确信息需要知道的所有内容。 getIntent(),在活动中调用时,会为您提供用于启动此活动的Intent的引用。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

  

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

     

Explicit Intents指定了一个组件(通过   setComponent(ComponentName)或setClass(Context,Class)),其中   提供要运行的确切类。通常这些不包括任何   其他信息,只是一种应用程序启动的方式   当用户与之交互时,它具有的各种内部活动   应用。隐含意图没有指定组件;代替,   他们必须包含足够的信息供系统确定   可用组件最好为该意图运行。

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

  

系统中的活动作为活动堆栈进行管理。当一个新的   活动开始后,它被放置在堆栈的顶部并成为   正在运行的活动 - 之前的活动始终低于它   在堆栈中,并且在新的之前不会再次出现   活动退出。

enter image description here

答案 3 :(得分:0)

Activity通常是通过Intent创建的。假设您参加了第一项活动:

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();