intents 和 startActvity 在内部是如何工作的?

How intents and startActvity works internally?

每个人都知道,如果您创建启动另一个 activity 的意图,您将作为参数传入 startActivity。但我只是考虑了可能的情况:意图说系统"call this activity",系统看到清单然后运行activity,或者这个运行在应用程序内部起作用,比如"call some method of some class"? 可能是一个愚蠢的问题,但我找不到足够的信息。那么它是如何工作的呢?

以下是意图交流的工作方式:

  1. Activity A 创建一个带有动作描述的 Intent 并将其传递给 startActivity().

  2. Android 系统在所有应用程序中搜索与意图相匹配的意图过滤器。找到匹配项后,

  3. 系统开始匹配activity (Activity B) 通过调用它的onCreate()方法并传递给它Intent.!