Intent 使用篇

1、Intent简介

    Intent负责在Android四大组件中进行调用传递,Intent描述一次操作的动作、动作涉及数据、附加数据等,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。如启动一个Activity、发送广播、启动服务等

2、Intent结构(以下只列出常用的)

    private String mAction;
    private Uri mData;
    private String mType;
    private ComponentName mComponent;
    private HashSet<String> mCategories;
    private Bundle mExtras;


mAction:描述要执行的动作,调用组件和被调用组件约定,由于Intent在系统中是全局的,故自定义的Action需要加上Namespace,如com.google.app.myapp.CUSTOM_ACTION,系统预定义了标准的Action,如ACTION_MAIN、ACTION_VIEW、ACTION_EDIT等

mData:用于操作的数据,比如在联系人列表中的具体某个人的信息,用uri来表示

mType:显式指定Intent的数据类型(MIME),一般Intent数据类型能够根据数据本身进行判定,但是假如设置了这个属性,会强制采用显式指定的类型

mComponent:指定Intent的目标组件的类名称。通常 Android会根据Intent 中包含的其它属性的信息,比如action、data/type、category进行查找,最终找到一个与之匹配的目标组件。但是,如果 component这个属性有指定的话,将直接使用它指定的组件,而不再执行上述查找过程。指定了这个属性以后,Intent的其它所有属性都是可选的。

mCategories:给执行动作添加额外的信息,如CATEGORY_LAUNCHER 将此Activity添加到LAUNCHER 最顶层,即当启动程序时使这个界面第一个显示

mExtras:是其它所有附加信息的集合。使用extras可以为组件提供扩展信息,比如,如果要执行“发送电子邮件”这个动作,可以将电子邮件的标题、正文等保存在extras里,传给电子邮件发送组件。


3、Intent使用


A、启动一个Activity,实现Activity之间的跳转 

        Intent it = new Intent(Main.this,Second.class);
        startActivity(it);

    另外Intent可以从开发者自己的程序跳转到系统应用界面,比如点击一个按钮跳转到发短信的界面,其使用方式是通过uri的方式进行跳转,具体如下:
        Intent it = new Intent(Intent.ACTION_VIEW);
        it.putExtra("sms_body", "The SMS text");
        it.setType("vnd.android-dir/mms-sms");
        startActivity(it);


B、广播消息 

        Intent it = new Intent();
        it.setAction("message");
        it.putExtra("message ", msg);
        sendBroadcast(it);


C、启停服务 

        Intent it = new Intent(Main.this,Second.class);
        startService(it);
        stopService(it);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值