Intent: 意图,是andriod四大组件通讯的桥梁,即四大组间之间的相互调用及数据传递都是通过intent实现。
分类: 显示意图与隐式意图。
区别:显示意图:通过直接指定Class(类的字节码式类名)进行组件之间调用,主要用于调用当前程序的Activity,效率更高。
隐式意图:通过setAction(String actionName)与setDate(Uri uri)指定意图,可以调用其它程序的Actity,更加灵活。
- <intent-filter>中至少配置一个<action>和一个<category>,否则无法被启动
- Intent对象中设置的action、category、data在<intent-filter>必须全部包含才能启动
-
<intent-filter>中的<action>、<category>、<data>都可以配置多个, 只要匹配一个就可以启动该Activity
常用Intent打开资源
1.发短信
SmsManager manager = SmsManager.getDefault();
ArrayList<String> contents = manager.divideMessage(content);
for(String str : contents) {
manager.sendTextMessage(number, null, content, null, null);
}
2.打电话
String number = etNum.getText().toString();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + number));
startActivity(intent);