当用户点击应用程序图标启动一个 Activity 时,涉及的整个流程可以梳理如下:
1. 用户点击应用程序图标
用户在设备的主屏幕或应用列表中点击应用程序图标,触发应用程序启动事件。
2. 系统接收启动请求
-
Intent 解析:
- 系统接收到用户点击事件后,会创建一个包含目标
Activity
类名的启动Intent
。该Intent
包含了要启动的目标Activity
的信息,如包名、类名
等。通常,这个Intent
是一个明确的Intent
,即指定了目标Activity
的类名
。
- 系统接收到用户点击事件后,会创建一个包含目标
-
Intent 分发:
- 系统通过
IntentResolver
解析Intent
,确定启动的目标Activity
的包名和类名。
- 系统通过
3. AMS(Activity Manager Service)处理
-
权限验证:
- AMS 首先检查应用程序是否具有启动目标 Activity 的权限。
-
启动请求:
- 如果权限验