Android:Action 与 Data 属性

本文介绍了Android中的Intent对象,它是程序间传递数据的核心。Intent包含Component name、Action和Data等属性。Action定义了要执行的操作,Data提供了操作的数据,如URI和MIME类型。通过Action与Data的结合,可以实现如拨打电话、发送短信等功能。
摘要由CSDN通过智能技术生成

前言

Intent 的中文翻译就是“意图”的意思,它是 Android 程序中传输数据的核心对象。在 Android 官方文档中,对 Intent 的定义是执行某操作的一个抽象描述。
一个 Intent 对象实质上是一组被捆绑的信息,它可以是对 Intent 有兴趣的组件信息(如要执行的动作和要作用的数据),也可以是 Android 系统感兴趣的信息(如处理 Intent 组件的分类信息和如何启动目标活动的指令等)。Intent 对象主要包含 Component name、Action、Category、Data、Extras、Flags 6种属性。

属性 作用
Component name 指定为处理 Intent 对象的组件名称
Action Intent 要完成的一个动作
Category 用来对执行动作的类别进行描述
Data 向 Action 提供要操作的数据
Extras 向 Intent 组件添加附加信息
Flags 指示 Android 程序如何去启动一个 Activity
Component name

Component name 属性用来设置 Intent 对象的组件名称,它的属性值是一个 ComponentName 对象,要创建一个 ComponentName 需要指定包名和类名——这就可以唯一的确定一个组件类,这样应用程序就可以根据给定的组件类去启动特定的组件。

Action(动作)

Action 属性用来指定将要执行的动作。它很大程度上决定了 Intent 如何构建.
Action 与 Data、Extras 属性。它们的关系就像一个方法名决定了参数和返回值一样,正是由于这个原因,所以应该尽可能明确指明动作,并紧紧关联到其他 Intent 字段。

Data(数据)

Data 属性通常用于向 Action 提供要操作的数据。它可以是一个 URI 对象,通常情况下包含数据的 URI 和 MIME 类型,不同的 Action 有不同的数据规格,其采用 “数据类型:数据” 的格式。

Action 与 Data 的数据关联

操作类型 Data 格式
浏览网页 http://网页地址
拨打电话 tel:电话号码
发送短信 smsto:短信接收号码
查找 SD 卡文件 file:///sdcard/目录或文件
显示地图 geo:坐标,坐标
联系人信息 content://联系人信息

举例说明:Intent实现拨打电话、发送短信

public class MainActivity extends AppCompatActivity {
   

    @Override
    protected void onCreate(Bundle savedInstanceState) {
   
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
        ImageButton imageButton1 = (ImageButton) findViewById(R.id.phone);
        ImageButton imageButton2 = (ImageButton) findViewById(R.id.yx);

        //设置监听器对象
        imageButton1.setOnClickListener(listener);
        imageButton2.setOnClickListener(listener);
    }

    View.OnClickListener listen
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值