Android 隐式Intent相比于显式Intent的优点

要启动一个Activity有两种方法,一种是通过显式Intent启动,而另一种是通过隐式Intent启动。

对于显式Intent,通过查阅API文档,构造方法为Intent(Context packageContext, Class cls),这说明我们需要传入的参数有两个,第一个参数是我们Context参数,我们可以传入当前活动类(主活动),因为当前活动类是继承自Context类的,包含了Context类的所有能继承的方法。另外一个参数是要启动的活动类(下一个要启动的活动名字.class).

java.lang.Object
  android.content.Context
      android.content.ContextWrapper
          android.view.ContextThemeWrapper
              android.app.Activity

对于隐式Intent,通过查阅API文档,构造方法为Intent(String action),说明如下:

Create an intent with a given action. All other fields (data, type,class) are null. Note that the action must be in a namespace because Intents are used globally in the system -- for example the system VIEW action is android.intent.action.VIEW; an application's custom action would be something like
com.google.app.myapp.CUSTOM_ACTION.

英文解释:要创建一个活动,我们需要给定一个动作action,由于这个Intents 在系统是能够被全局使用的,因此我们定义的时候,一般按如下形式com.google.app.myapp.CUSTOM_ACTION。

通过上面比较我们可以看出,隐式活动的启动时不需要指明要启动当前活动的parent活动,更符合模块化的设计思想。




你可能感兴趣的:(android)