显式Intent和隐式Intent的学习_wowow~的博客-程序员宝宝

技术标签: android  

Intent被称为意图,是程序中各组件间进行交互的一种重要方式,它不仅可以指定当前组件要执行的动作,还可以在不同组件之间进行数据传递。一般用于启动Activity、Service以及发送广播等。


Intent根据开启目标组件的方式不同分成两种类型:

1.显式Intent
2.隐式Intent



显式Intent

显式Intent 指的是直接指定目标目标组件,如:

Intent intent=new Intent(this,SecondActivity.class);
startActivity(intent);

为创建Intent的传入了两个参数,第一个参数this表示当前的Activity,第二个参数表示为跳转目标的Activity。
直观点,上手做一做。
先创建一个android项目,在自己java/com.example包中创建第二个Activity文件,名字自己喜欢,认得出来就好。

在这里插入图片描述
如图我自己写的程序中,先创建一个Intent对象,参数设置

( this,Main2Activity.class)
this即为当前的这个Activity
Main2Activity.class即为我们新创建的第二个Activity,同时也是我们想跳转到的Activity


隐式Intent

隐式Intent 不会明确指出需要激活的目标组件,它被广泛地应用在不同应用程序之间传递消息。
Android系统会使用IntentFilter匹配相应的组件,匹配的属性有三个:

属性 释义
action 表示Intent对象要完成的动作
data 表示Intent对象中传递的数据
category 表示为action添加的额外信息

使用隐式Intent开启Activity需要在清单文件去配置这三个属性,如:
在这里插入图片描述
在当前的Activity文件中创建一个Intent对象,为这个对象设置action属性为cn.itcast.START_ACTIVITY
最后再加一个开启代码startActivity(intent);
这时候需要去清单文件去配置你想跳转到的Activity文件,即Main2Activity.java。

<activity android:name=".Main2Activity">
            <intent-filter>
                <action android:name="cn.itcast.START_ACTIVITY"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

<intent-filter>标签中把action配置为和MainActivity.java中的action一样。
下一行category这行,写的原因是在使用隐式Intent开启Activity时,会默认为该Intent对象添加category。默认配置的内容就是这行android.intent.category.DEFAULT,这里设置好,应该运行就能完成隐式Intent的跳转。


想要效果明显点,一看就知道跳转到了其他Activity就在视图文件下加入一些文本或者其他的东西,我就选择加了一点字来分辨:
在这里插入图片描述



End.
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_48699700/article/details/115220193

智能推荐

flex弹性布局垂直水平居中_网友_小朱的博客-程序员宝宝

flex弹性布局垂直水平居中 父元素设置.container{ display:flex;}值得注意的是当父元素设置了display:flex;之后子元素的position,float,都将失效元素垂直居中iterms-align:center元素水平居中justify-content:center;...

【poj 3579】 Median_yhf_2015的博客-程序员宝宝_poj3579

题意:输入一个正整数nn,1个正整数序列AA,有nn个元素,现在定义一个新的序列BB,里面的元素分别是序列AA中任意两个数之间的差的绝对值,差的个数一共有C2nC^2_n个,现在求序列BB的中位数。如果BB序列中元素的个数是偶数个,默认中位数是中间两个数中小的那一个。思路:计算可得中位数是BB序列里的第kk个元素,因为考虑到nn比较大,不能构造出BB序列,所以可以用二分来枚举中位数的大小。 为了方

Error: Expecting keyword 'class', 'interface', or 'enum' before '-optimizationpasses' in line 11 of_微wx笑的博客-程序员宝宝

执行Maven Install打包的时候,出现以下错误信息: [proguard] Error: Expecting keyword 'class', 'interface', or 'enum' before '-optimizationpasses' in line 11 of file 'F:\Workspaces\pro-test\proguard.conf', [proguard]

【防火墙目的地址转换-目的端口转换】_长珹的博客-程序员宝宝_目的地址转换

防火墙目的地址转换-目的端口转换一、网络拓扑二、需求描述外部用户能够通过访问USG映射出去的外网地址访问到内部Webserver实验步骤:1.在USG上配置NAT相关端口映射策略并调试。将接口eth1配置为路由模式并配置IP将接口eth2配置为路由模式并配置IP查看eth1、eth2接口状态新建地址inerweb(192.168.1.63/32)新建服务8080新建服务80在NAT策略中新建端口映射策略同时防护墙访问控制策略放行外部主机访问映射端口8080三、

python代码写不出来怎么办_有多少人看得懂Python代码,却连一个猜数字游戏都单独写不出来!..._weixin_39757169的博客-程序员宝宝

做个实验,我相信基本所有人都看得懂一些Python代码,看着别人写出来的逻辑思维也能够理解,但是要自己去用pycharm编辑的收获就懵逼了,不知道从哪里动手。不瞒你们说,我自己以前就是那样的。那么我下面给出思路,你可以直接自己动手写代码,也可以看看我的代码然后自己再写一遍,看你是否如你心中所想,这简单到没资格让你动手。。。我竟然没写出来在这里还是要推荐下我自己建的Python开发学习裙:304 ...

随便推点

以mips为单位衡量微型计算机的性能,2016计算机二级《MS Office》选择题专项训练..._weixin_39713805的博客-程序员宝宝

2016计算机二级《MS Office》选择题专项训练1、汉字的区位码由一汉字的区号和位号组成。其区号和位号的范围各为______。A、区号 1-95 位号 1-95B、区号 1-94 位号 1-94C、区号 0-94 位号 0-94D、区号 0-95 位号 0-95答案:(B)评析:标准的汉字编码表有94行、94列,其行号称为区号,列号称为位号。双字节中,用高字节表示区号,低字节表示位号。非汉字...

SD卡的详细资料(开发文档)_小p孩不想长大的博客-程序员宝宝

文章转自http://www.51hei.com/mcu/4125.html1、简介 SD卡是基于flash的存储卡。SD卡和MMC卡的区别在于初始化过程不同。SD卡的通信协议包括SD总线和SPI两类。SD卡使用卡内智能控制模块进行FLASH操作控制,包括协议、安全算法、数据存取、ECC算法、缺陷处理和分析、电源管理、时钟管理。通信电压范围:2.0-3.6V;工作电...

分布式计算原理之分布式协调与同步(1)——分布式锁_奥卡姆的剃刀的博客-程序员宝宝

1:什么是分布式锁在分布式互斥中,分布式互斥博客地址,讲述了同一时刻,同一个临界资源只能同一个进程访问,为了维护数据的一致性,防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术(某种机制)来对这些进程进行调度,来保证只有满足某个条件的线程才能访问资源,不满足条件的线程只能等待,在下一轮竞争中重新满足条件时才能访问资源,这个分布式协调技术的核心就是来实现这个分布式锁。这部分的分布式协调技术(机制),指的是为了实现分布式互斥,在某个地方做个标记,每个线程都可以看到这个标记,当标记不存在时

3D游戏编程与设计7——模型与动画_qiao_zhang的博客-程序员宝宝

1、智能巡逻兵提交要求:游戏设计要求:创建一个地图和若干巡逻兵(使用动画);每个巡逻兵走一个3~5个边的凸多边形,位置数据是相对地址。即每次确定下一个目标位置,用自己当前位置为原点计算;巡逻兵碰撞到障碍物,则会自动选下一个点为目标;巡逻兵在设定范围内感知到玩家,则会自动追击玩家;失去玩家目标后,继续巡逻;计分:玩家每次甩掉一个巡逻兵计一分,与巡逻兵碰撞游戏结束;程序设计要...

Java查找1000以内的水仙花数_82年苏打的博客-程序员宝宝_java1000以内的水仙花数

文章目录题目水仙花数规则代码内容运行结果总结题目求出1000以内的所有水仙花数水仙花数规则水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。代码内容exercise包下的Class类packag

看视频自学JQuery第三天笔记_职大一棵草的博客-程序员宝宝

样式元素操作的几种方式第一种:$(&quot;#dv&quot;).css(&quot;background&quot;,&quot;red&quot;)第二种方式:$(&quot;dv&quot;).css({            &quot;background&quot;:&quot;red&quot;,            &quot;fontSize&quot;:&quot;16px&quot;,            .........        });第三种方式:$(&quot

推荐文章

热门文章

相关标签