android中的intent

Intent的用途

Intent主要有以下几种重要用途:

1. 启动Activity:可以将Intent对象传递给startActivity()方法或startActivityForResult()方法以启动一个Activity,该Intent对象包含了要启动的Activity的信息及其他必要的数据。

2. 启动Service:可以将Intent对象传递给startService()方法或bindService()方法以启动一个Service,该Intent对象包含了要启动的Service的信息及其他必要的数据。关于使用startService()方法启动Service,可以参见博文《Android中startService的使用及Service生命周期》。关于使用bindService()方法启动Service,可以参见博文《Android中bindService的使用及Service生命周期》。

3. 发送广播:广播是一种所有App都可以接收的信息。Android系统会发布各种类型的广播,比如发布开机广播或手机充电广播等。我们也可以给其他的App发送广播,可以将Intent对象传递给sendBroadcast()方法或sendOrderedBroadcast()方法或sendStickyBroadcast()方法以发送自定义广播。

此处只讨论启动Activity的用法

Intent的类型

有两种类型的Intent:explicit(显式)的和implict(隐式)的。

显式的Intent:如果Intent中明确包含了要启动的组件的完整类名(包名及类名),那么这个Intent就是explict的,即显式的。


如上图,在建立Intent对象的时候,就已经明确显示要启动的Activity字节码对象。

隐式的Intent:如果Intent没有包含要启动的组件的完整类名,那么这个Intent就是implict的,即隐式的。



如上图,intent设定自己的动作以及类别以及data等信息,通过匹配在AndroidManifest.xml中声明的Activity的intent-filter中的action等信息,去识别自己要启动的activity。

Android中Intent组件详解

Android startActivityForResult的用法

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,760评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,540评论 2 59
  • 目录 1.Intent 2.Intent类型 3.Intent中的主要信息 4.使用实例 5.Intent传递对象...
    gaaaaaaaaaao阅读 4,654评论 0 3
  • 自从我毕业旅行回来之后,就一直在为租房子的事情烦恼,我是一个任何事情都不愿意去将就和妥协的人,跑了好几个地方,最终...
    流浪摄影师阅读 18,718评论 91 488
  • 文字是人类文化的载体,而现今社会对于文字却有许多的欠缺。科技的发展,各种交友平台拓展了空间距离对于我们的限制,各...
    浮生幻尘阅读 3,126评论 0 1

友情链接更多精彩内容