Anroid之Intent几个重要属性详解
来源:互联网 发布:计算机图论算法 编辑:程序博客网 时间:2024/05/16 18:20
Intent主要有以下四个重要属性,它们分别为:
Action:Action属性的值为一个字符串,它代表了系统中已经定义了一系列常用的动作。通过setAction()方法或在清单文件AndroidManifest.xml中设置。默认为:DEFAULT。
Data:Data通常是URI格式定义的操作数据。例如:tel:// 。通过setData()方法设置。
Category:Category属性用于指定当前动作(Action)被执行的环境。通过addCategory()方法或在清单文件AndroidManifest.xml中设置。默认为:CATEGORY_DEFAULT。
Extras:Extras属性主要用于传递目标组件所需要的额外的数据。通过putExtras()方法设置。
四个属性各自的常用值如下所示:
Action:
ACTION_MAIN:Android Application的入口,每个Android应用必须且只能包含一个此类型的Action声明。
ACTION_VIEW:系统根据不同的Data类型,通过已注册的对应Application显示数据。
ACTION_EDIT:系统根据不同的Data类型,通过已注册的对应Application编辑示数据。
ACTION_DIAL:打开系统默认的拨号程序,如果Data中设置了电话号码,则自动在拨号程序中输入此号码。
ACTION_CALL:直接呼叫Data中所带的号码。
ACTION_ANSWER:接听来电。
ACTION_SEND:由用户指定发送方式进行数据发送操作。
ACTION_SENDTO:系统根据不同的Data类型,通过已注册的对应Application进行数据发送操作。
ACTION_BOOT_COMPLETED:Android系统在启动完毕后发出带有此Action的广播(Broadcast)。
ACTION_TIME_CHANGED:Android系统的时间发生改变后发出带有此Action的广播(Broadcast)。
ACTION_PACKAGE_ADDED:Android系统安装了新的Application之后发出带有此Action的广播(Broadcast)。
ACTION_PACKAGE_CHANGED:Android系统中已存在的Application发生改变之后(如应用更新操作)发出带有此Action的广播(Broadcast)。
ACTION_PACKAGE_REMOVED:卸载了Android系统已存在的Application之后发出带有此Action的广播(Broadcast)。
Category:
CATEGORY_DEFAULT:Android系统中默认的执行方式,按照普通Activity的执行方式执行。
CATEGORY_HOME:设置该组件为Home Activity。
CATEGORY_PREFERENCE:设置该组件为Preference。
CATEGORY_LAUNCHER:设置该组件为在当前应用程序启动器中优先级最高的Activity,通常为入口ACTION_MAIN配合使用。
CATEGORY_BROWSABLE:设置该组件可以使用浏览器启动。
CATEGORY_GADGET:设置该组件可以内嵌到另外的Activity中。
Extras:
EXTRA_BCC:存放邮件密送人地址的字符串数组。
EXTRA_CC:存放邮件抄送人地址的字符串数组。
EXTRA_EMAIL:存放邮件地址的字符串数组。
EXTRA_SUBJECT:存放邮件主题字符串。
EXTRA_TEXT:存放邮件内容。
EXTRA_KEY_EVENT:以KeyEvent对象方式存放触发Intent的按键。
EXTRA_PHONE_NUMBER:存放调用ACTION_CALL时的电话号码。
Data:
tel://:号码数据格式,后跟电话号码。
mailto://:邮件数据格式,后跟邮件收件人地址。
smsto://:短息数据格式,后跟短信接收号码。
content://:内容数据格式,后跟需要读取的内容。
file://:文件数据格式,后跟文件路径。
market://search?q=pname:pkgname:市场数据格式,在Google Market里搜索包名为pkgname的应用。
geo://latitude, longitude:经纬数据格式,在地图上显示经纬度所指定的位置。
几个Action、Data属性的组合
ACTION_VIEW content://com.android.contacts/contacts/1 显示标识为1的联系人的信息
ACTION_EDIT content://com.android.contacts/contacs/1 编辑标识为1的联系人的信息
ACTION_DIAL content://com.android.contacts/contacs/1 显示向标识为1的联系人拨号界面
ACTION_VIEW tel:123 显示向指定号码123拨号的界面
ACTION_DIAL tel:123 显示向指定号码123拨号的界面
ACTION_VIEW content://contacts/people/ 显示所有联系人列表的信息,通过这种组合可以非常方便的查看系统联系人
package com.android.xiong.actiondata;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button bt1,bt2,bt3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bt1=(Button)findViewById(R.id.bt1);bt2=(Button)findViewById(R.id.bt2);bt3=(Button)findViewById(R.id.bt3);bt1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//创建IntentIntent intent=new Intent();String data="http://www.qq.com";//根据指定的字符串解析出Uri对象Uri uri=Uri.parse(data);//为Intent设置Action属性intent.setAction(Intent.ACTION_VIEW);//设置Data属性intent.setData(uri);startActivity(intent);}});bt2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent();intent.setAction(intent.ACTION_EDIT);String data="content://com.android.contacts/contacts/1";//根据指定的字符串解析出Uri对象Uri uri=Uri.parse(data);//设置data属性intent.setData(uri);startActivity(intent);}});bt3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent();intent.setAction(intent.ACTION_DIAL);String data="tel:15618345347";Uri uri=Uri.parse(data);intent.setData(uri);startActivity(intent);}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
- Anroid之Intent几个重要属性详解
- Intent四个重要属性
- Intent四个重要属性
- Intent四个重要属性
- Intent四个重要属性
- listView几个重要属性
- listview几个重要属性
- ListView 几个重要属性
- ListView 几个重要属性
- ListView几个重要属性
- 我的anroid学习之路-Intent
- Intent中的四个重要属性
- Anroid之实现菜单几个基本步骤
- COM+的几个重要属性
- android ListView 几个重要属性
- UIScrollView的几个重要属性
- android ListView 几个重要属性
- AbsListView几个重要的属性
- 转载一篇amazon大牛评论各种语言的文章
- MySQL远程导入数据LOAD DATA LOCAL INFILE ...
- oracle--多行转为一行的连接手段
- Linux ALSA声卡驱动之七:ASoC架构中的Codec
- CMUSphinx Wiki
- Anroid之Intent几个重要属性详解
- linux php添加扩展库
- mysql 交互式方式记录操作
- IOS数据库操作SQLite3使用详解
- [译] 几点 iOS 开发技巧
- java后设置Session有效期,设置Cookie有效期,设置失效,获取Cookie值方法
- hadoop、hbase的数据备份数(dfs.replication)问题
- mysql删除大表更快的drop table办法
- 【Android】ContentProvider的使用