【Android开发】 在Activity中使用Intent

在Activity中使用Intent

Intent是Android程序中各组件之间交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般被用于启动活动、启动服务以及发送广播等场景。


显式Intent

Intent有多个构造器重载,其中一个是Intent(Context packContext, Class<?> cls)。这个构造器函数接受两个参数,第一个参数Context要求提供一个启动活动的上下文,第二个参数Class则是指定想要启动的目标活动,通过这个构造函数就可以构建出Intent的“意图”。通过Activity提供的startActivity()方法启动活动。

button.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View v) {
		Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
		startActivity(intent);	
	}
});

隐式Intent
<activity android:name=".Activity" >
	<intent-filter>
		<action android:name="com.example.activitytest.ACTION_START" />
		<Category android:name="android.intent.category.DEFAULT" />
	</intent-filter>
</activity>

通过在<activity>标签下配置<intent-filter>的内容,指定当前活动能够响应的action和category。在<action>标签中指明活动可以响应 com.example.activitytest.ACTION_START 这个action,而<category>标签则包含了一些附加信息,更精确的指明了当前的活动能够响应的Intent中还可能带有的category。只有<action>和<category>能够同时匹配上Intent中指定的action和category时,这个活动才能响应Intent。每个Intent只能指定一个action,但却能指定多个category。

button.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View v) {
		Intent intent = new Intent("com.example.activitytest.ACTION_START");
		intent.addCategory("android.intent.category.DEFAULT");
		startActivity(intent);
	}
)};

第一行代码Android(第二版 ) 郭霖 著 人民邮电出版社

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hovf-1120

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值