Intent深入解剖

Intent提供了一种通用的消息系统,它允许在你的应用程序和其他的应用程序间传递Intent来执行动作和产生事件。使用Intent可以激活

Android应用三种类型的核心组件:活动,服务,和广播接收者。

Intent可以划分为显式意图和隐式意图。

显式意图:调用Intent.setComponent()\Intent.setClassName()\Intent.setClass()明确指定了组件名的Intent为显式意图。现时意图明确指定了要激活的组件是哪个组件。

隐式意图:没有明确指定组件名的Intent为隐式意图。Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。

建一个新的应用:

在MainActivity中添加方法:

public void openOtherActivity(View v) {

//(没设数据参数的情况下)只要Intent中的Action和Category都出现在intent-filter中,就能与之匹配,否则匹配失败。

Intent intent = new Intent();//隐式意图激活Activity;

  intent.setAction("cn.itcast.zhangxx")

intent.addCategory("cn.itcast.category.java");

intent.setDataAndType(Uri.parse("itcast://www.itcast.cn/liming"),"image/jpeg");

startActivity(intent);

}

新建一个OtherActivity;

在配置文件中配置OtherActivity:

<intent-filter>

<action android:name="cn.itcast.zhangxx"/>

<category android:name="cn.itcast.category.java"/>

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

<data android:scheme="itcast" android:host="www.itcast.cn" android:path="/liming"/>

<data android:mimeType="image/*"/>//匹配所有图像类型的文件

</intent-filter>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值