WEBVTT 00:00:00.420 --> 00:00:06.040 我想把 intent 比作信封 每个信封中都包含了“收信人” 00:00:06.040 --> 00:00:08.919 在这个案例中是指你要传递出去的组件 00:00:09.099 --> 00:00:12.040 这里有适用于传送少量数据的空间 00:00:13.290 --> 00:00:14.509 打包为额外信息 00:00:16.820 --> 00:00:19.540 最终的接收方和打开这个 intent 的是 00:00:19.540 --> 00:00:22.140 适用于应用程序组件的原始元组 00:00:23.270 --> 00:00:26.660 显式 intent 会明显地指出接收方的名称 00:00:26.660 --> 00:00:28.296 就像在这个信封上看到的内容 00:00:28.566 --> 00:00:30.762 隐式 intent 更加有趣 00:00:32.182 --> 00:00:34.410 在这里 我们没有指定类名称 00:00:34.530 --> 00:00:36.080 我们甚至不知道它是什么 00:00:36.330 --> 00:00:38.710 那么 我们如何指定启动哪个 activity ? 00:00:39.130 --> 00:00:41.560 你一定听说过这样的故事 00:00:41.560 --> 00:00:46.970 这种只有虚假地址的信件不管怎样 00:00:46.970 --> 00:00:48.566 都有办法找到收件人 00:00:49.136 --> 00:00:52.492 Android 上的 intent 解析系统就是这样工作的 00:00:54.492 --> 00:00:57.040 找到 activity 来执行你在关联数据上 00:00:57.040 --> 00:00:59.210 指定的操作 00:00:59.730 --> 00:01:03.380 因此 不指定类名称 00:01:03.380 --> 00:01:05.540 而是指明要执行 activity 的操作 00:01:05.770 --> 00:01:08.420 以及要对哪些数据进行操作 00:01:08.820 --> 00:01:13.100 像这样 我们想要找到一个 00:01:13.100 --> 00:01:16.910 能够处理网站视图的 activity 00:01:16.910 --> 00:01:19.890 由于 intent 可以跨越不同应用程序 00:01:20.040 --> 00:01:24.640 所以启动的 activity 可能不是你的应用的一部分 00:01:24.640 --> 00:01:30.350 因此 可以包括这些功能 00:01:30.830 --> 00:01:34.840 网页浏览、拨打电话或从电话簿中选择联系人 00:01:35.450 --> 00:01:38.256 所有这些都在应用内进行 00:01:38.256 --> 00:01:39.432 完全无需你进行任何实施 00:01:41.032 --> 00:01:42.470 你甚至不需要了解这款应用 00:01:42.470 --> 00:01:45.940 它就能为你提供服务 00:01:45.940 --> 00:01:48.190 在 Android 开发者站点的“常用 intent ”页面中 00:01:48.190 --> 00:01:51.120 可以详细了解原生的应用支持的某些 intent