今天学习了Intent的基本用法。Intent是什么?Intent在Android中的核心作用就是“跳转”(Android中的跳转机制),同时可以携带必要的信息,将Intent作为一个信息桥梁。最常用的莫过于从一个activity跳转到另一个activity,然后返回到上一个activity。还可以在不同组件间进行数据传递。
Intent可分为两种,显示Intent和隐式Intent。
显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之为显式Intent。 即在通过Intent启动Activity时,需明确指定激活组件的名称。如果需要在本应用中启动其他的Activity时,可以使用显式意图来启动Activity。
Intent intent = new Intent(this, Main2Activity.class); startActivity(intent);
I
显式意图还可以根据目标组件的包名、全路径名来指定开启组
Intent intent = new Intent(); intent.setClassName("com.android.deskclock","com.android.deskclock.DeskClock"); startActivity(intent);
隐式Intent定义:对于没有明确指出目标组件名称的Intent,则称之为隐式Intent。系统会根据隐式意图中设置的动作(action)、类别(category)、数据(Uri和数据类型)找到最合适的组件。
<activity android:name="com.itcast.intent.Activity02"> <intent-filter> <action android:name="cn.itscast.xxx"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity>
使用隐式意图开启Activity的示例代码如下所示:
Intent intent = new Intent(); // 设置动作和清单文件一样 intent.setAction("cn.itscast.xxx"); startActivity(intent);