Android中的显式 Intent和隐式 Intent

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bingozhang24/article/details/51538327

   Intent 在安卓中是一个非常重要的对象,在平时开发中用的很多。它是一个消息传递对象,我们可以使用它从其他应用组件请求操作。但是Intent的类型让很多开发者困惑,我在查阅了官方文档之后,对这两种类型有更详细的认知。

  Intent分为两种类型:
  - 显式Intent:按名称(完全限定类名)指定要启动的组件。通常,我们会在自己的应用中使用显式 Intent 来启动组件,这是因为我们知道要启动的 Activity 或服务的类名。例如,启动新 Activity 以响应用户操作,或者启动服务以在后台下载文件。
   - 隐式Intent:不会指定特定的组件,而是声明要执行的常规操作,从而允许其他应用中的组件来处理它。例如,如需在地图上向用户显示位置,则可以使用隐式 Intent,请求另一具有此功能的应用在地图上显示指定的位置。
   说了这些概念可能还不是很好理解,接下来就通过一个图来说明:
这里写图片描述

  隐式 Intent 如何通过系统传递以启动其他 Activity 的图解:[1] Activity A 创建包含操作描述的 Intent,并将其传递给 startActivity()。[2] Android 系统搜索所有应用中与 Intent 匹配的 Intent 过滤器。找到匹配项之后,[3] 该系统通过调用匹配 Activity(Activity B)的 onCreate() 方法并将其传递给 Intent,以此启动匹配 Activity。

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭