/显式意图 :必须指定要激活的组件的完整包名和类名 (应用程序之间耦合在一起)
// 一般激活自己应用的组件的时候 采用显示意图
//隐式意图: 只需要指定要动作和数据就可以 ( 好处应用程序之间没有耦合)
//激活别人写的应用 隐式意图, 不需要关心对方的包名和类名
1.Manifest
<activity android:name="com.itheima.intent2.SecondActivity" > <intent-filter> <action android:name="com.itheima.intent2.open2" /><!-- 行为(打) --> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="application/person" /><!-- 数据类型 (酱油)--> <data android:scheme="jianren" /><!-- 类型约束,描述--></intent-filter> </activity>
// 打 action
// 人 data
// 附件的数据 Category 类别
//没事的情况下打酱油
2.intent.setAction("com.itheima.intent2.open2")//动作(打)
3.intent.addCategory(Intent.CATEGORY_DEFAULT);//附加情况,额外信息,一般为Intent.CATEGORY_DEFAULT(没事的情况下)
4.// URL:统一资源定位符 http https ftp rtsp: URI:统一资源标识符 url是uri的一个子集
// intent.setData(Uri.parse("jianren:张三"));
// intent.setType("application/person");
intent.setDataAndType(Uri.parse("jianren:张三"), "application/person");//数据(酱油)
startActivity(intent);//此方法执行,会清除setType()的数据,因此采用setDataAndType
时间: 2024-12-28 11:44:49