如果您创建并初始化(Android)Intent,是否可以在不调用startActivity(theIntent)的情况下启动它?

时间:2014-01-31 02:02:39

标签: android android-intent

说我有

Intent secondPage = new Intent(FirstPage.this, SecondPage.class);
Intent thirdPage = new Intent(FirstPage.this, ThirdPage.class);

if(i == 2) 
    startActivity(secondPage);

if(i == 3) 
    startActivity(thirdPage); 

如果没有调用'startActivity'方法,是否会启动Intent?

或者只有在使用Intent作为参数

调用startActivity方法时才会启动Intent

3 个答案:

答案 0 :(得分:3)

请参阅此link

引用

  

开始活动:活动代表一个屏幕   应用程序。您可以通过传递Intent来启动Activity的新实例   到 startActivity ()。 Intent描述了要开始的活动和   携带任何必要的数据。如果你想收到一个结果   活动完成后,调用 startActivityForResult ()。您的   activity将结果作为单独的Intent对象接收到您的   activity的onActivityResult()回调。有关更多信息,请参阅   活动指南。

当您提出问题时,如果i不等于2 or 3,则不会启动这些活动。

答案 1 :(得分:1)

如果你没有调用startActivity,那么Intent将不会启动Activity

答案 2 :(得分:1)

回答你的问题:不。

intent是要执行的操作的抽象描述。它可以与startActivity一起使用来启动Activity。

当你说,

Intent secondPage = new Intent(FirstPage.this,SecondPage.class);

此处使用的构造函数有两个参数:

Context作为它的第一个参数(因为Activity类是Context的子类,所以使用它) 系统应向其传递Intent的应用程序组件的类(在本例中为应该启动的活动)

startActivity(secondPage);

要开始一项活动,请调用startActivity()并将其传递给您的Intent。

因此,当您调用startActivity(intent)时,没有启动的意图。系统接收此调用并启动Intent指定的Activity实例。

读: http://developer.android.com/training/basics/firstapp/starting-activity.html http://developer.android.com/reference/android/content/Intent.html

在你的情况下,如果我不等于2或3,则没有任何反应。