Intent

Intent是Android程序中各个组件之间进行交互的一种重要方式。它不仅可以指明当前组件想要执行的动作,还可以传递各种数据。Intent一般被用于启动Activity,Service以及发送广播。

Intent大致可分为显式Intent隐式Intent。

显式的调用一般如下:

Intent intent = new Intent(TestActivity.this, SecondActivity.class);

startActivity(intent);

如果要传递数据,可以通过putExtra()接口传递数据。

隐式调用一般是通过匹配<intent-filter>的内容来实现<intent-filter>中一般有action和category两个属性,如下所示

<intent-filter>

<action android:name="com.example.ACTION_START"/>

<category android:name="android.intent.category.DEFAULT"/>

</intent-filter>

Intent intent = new Intent("example.ACTION");

intent.addCategory("example.category");

startActivity(intent);

只有当action和category指定的属性同时匹配时,指定intent的activity才会被调用,否则会因为找不到对应的activity而报crash错误。

推荐阅读更多精彩内容