在Android开发中,Intent是最基本也是最常用的操作,在Activity,Service,BroadcastReceiver这些核心组件中也需要Intent进行操作,下面我们具体介绍Intent在开发中的一些基本用法
假定目前有FirstActivity和SecondActivity两个活动,其中FirstActivity为初始活动启动活动
SecondActivity为被启动活动
显示Intent (直接指定目标组件,属于精确匹配)
(1)在构造方法中实现
//创建一个目标意图,this为当前活动FirstActivity
Intent intent=new Intent(this,SecondActivity.class);
//调用startActivity方法启动SecondActivity
startActivity(intent);
(2)调用setClass方法
//创建一个意图
Intent intent=new Intent();
//调用setClass方法设置要跳转的意图
intend.setClass(this,SecondActivity.class);
//调用startActivity方法启动SecondActivity
startActivity(intent);
(3)调用setComponent方法
//创建一个意图
Intent intent=new Intent();
//创建一个包含目标活动的ComponentName组件
ComponentName component = new ComponentName(this, SecondActivity.class);
//调用setComponent方法将封装信息传给意图对象intent
intent.setComponent(component);
//调用startActivity方法启动SecondActivity
startActivity(intent);
隐式Intent(不会直接指定需要激活的目标组件,属于模糊匹配)
与显示Intent不同的是,隐式Intent不需要指定具体的活动名称,通过动作进行匹配(action)
在清单文件(AndroidManifest.xml)中找到.SecondActivity的代码段
设置action属性如下
设置category属性如下
注:action属性和category属性可以有多条,匹配上任意一条即可
<activity android:name=".SecondActivity">
<intent-filter>
<!--设置action属性-->
<action android:name="android.intent.action.Second" />
<!--设置category属性-->
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
设置完动作属性后,便可以用代码中setAction方法来传递设置相应的活动动作了,代码如下
//创建一个意图对象
Intent intent=new Intent();
//设置action动作
intent.setAction("android.intent.action.Second");
//调用startActivity方法启动SecondActivity
startActivity(intent);
其实,在Android开发中也提供了一些常用的隐式调用系统应用的action
实例化一个Intent对象
Intent intent=new Intent();
发送短信
intent.setAction(Intent.ACTION_SENDTO);
//或者
intent.setAction("android.intent.action.SENDTO");
准备拨号
intent.setAction(Intent.ACITON_DIAL);
//或者
intent.setAction("android.intent.action.DIAL");
发送内容
intent.setAction(Intent.ACTION_SEND);
//或者
intent.setAction("android.intent.action.SEND");
以上就是一些Android开发中的一些基本用法了(记录一下学习过程)
觉得有用的话点个赞再走呗~