Ответ Адама правильный (он добрался до того, как я смог опубликовать).
Просто, чтобы расширить его, это источник для Intent(Context packageContext, Class<?> cls)
конструктора ...
public Intent(Context packageContext, Class<?> cls) {
mComponent = new ComponentName(packageContext, cls);
}
... и это источник для ComponentName(Context pkg, Class<?> cls)
конструктора
public ComponentName(Context pkg, Class<?> cls) {
mPackage = pkg.getPackageName();
mClass = cls.getName();
}
Как следует из adamp, Intent
методы, которые принимают Context
, являются вспомогательными методами, которые используют его только для создания ComponentName
который в свою очередь имеет дело только с String
типами (mPackage
и mClass
).Ни Intent
, ни ComponentName
не содержат ссылки на Context
.