为什么需要 Context 才能在 Android 中开始活动

Why is Context needed to start activitites in Android

我理解什么是上下文,为什么需要它,但是为什么需要启动活动,为什么不能仅通过静态加载它们或调用其构造函数来完成。

Why I cannot create and launch an activity like this: ActivityToLaunch activity = new ActivityToLaunch()

简短回答:因为您没有 Activity

也就是说,Activity 是由 Android 框架管理的特殊组件,但它允许您在预定义方法中添加应用程序逻辑,例如 onCreate()onResume(), etc, etc, 稍后由系统调用。

...

假设您想从您的应用程序中启动第三方应用程序,例如允许用户从 SD 卡中选择文件的默认文件管理器。显然你不能做这样的事情:

  FileManager manager = new FileManager()

因为 FileManager 类(或任何其他第三方应用程序的 类)在您的应用程序代码中不可访问,所以...希望您已经看到这种方法的局限性。 这就是为什么 Android 允许我们创建一个 Intent,其中给出了关于 Activity 的元数据,将其传递给 startActivity(...),然后系统负责创建启动的 activity.

这只是一个例子,很确定 Android 是这样设计的还有其他原因。