Android中的Intent理解

本文介绍了安卓中Intent的作用和种类。Intent可用于在各个Activity间切换并传递数据,通过startActivity(intent)方法启动Activity。Intent分为显式和隐式两种,显式Intent指定上下文和Activity的class文件即可启动,隐式Intent需设定动作类型等附加条件才会响应。

Intent作用

使用intend可以在各个Activity间来回切换,可以在不同的界面实现传递数据。
其中!startActivity(intent),这个方法式用来启动Activity的,达到各个Activity切换的目的

安卓中的Intent种类

显式Intent
从字面来理解的话,那就是“明显的意图”意思,这个意图到底有多明显呢?

        //显式的Intent启动Activity
        findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //显式的activity启动SecondActivity
                Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
                startActivity(intent);
            }
        });

就是在intent对象中的指定上下文对象和要启动的Activity的class文件就可以了,这就是显式的intent,直接了当不拐弯抹角!会直接启动一个Activity

隐式Intent
这种的intent从字面上的理解就是“隐晦的意图”,也就是说这些intent没有直接显式intent那么直接。它会有一些参数或者说有一些附加条件才会响应

        //隐式的Intend打开网页
        findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setData(Uri.parse("https://www.baidu.com/"));
                startActivity(intent);
            }
        });

一般会设定intent可以响应的动作类型,如“Intent.ACTION_VIEW”。这个intent只有动作类型也是Intent.ACTION_VIEW类型的Activity才能相应该intent,Activity中的intent的类型在intent-filter中的进行限定

在隐式intent中的intent-fliter中的category有更加详细的响应限定还有data属性也可以指定要响应的数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值