我试图理解为什么我们将 Context
实例传递给 Intent
构造函数?为什么执行 new Intent(SomeActivity.class)
还不够? Android 是否强制执行某些限制或什么?
我试图查看代码,但我发现它获取了包名称。
最佳答案
要明确识别 Android 应用程序中的 Activity,您需要同时拥有应用程序的名称(又名 Android 应用程序包)和 Activity 的全名(java 包名称 + Activity 类的类名)。这些正是您在构造函数中提供的那两个参数。 Context用于获取Android应用包名,class用于获取完整的类名。
具有相同全名的 Activity 可以在两个应用程序中使用。如果您不提供 Context,Android 将不知道 Activity 属于哪个应用程序。
关于java - 为什么要将上下文传递给 Intent 的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19611432/