Думайте о контексте как о состоянии вашего приложения.Он используется для управления ресурсами и сервисами, используемыми приложением, такими как база данных, локальные файлы, загрузчики классов, общие настройки и т. Д.
Когда кто-то звонит вам и спрашивает у вас, что вы в первую очередь говорите... Что это за ссылка?или каков контекст этого разговора?В зависимости от контекста вы можете решить, стоит ли продолжать разговор или нет.Если вы продолжите, тогда разговор должен быть относительно простым, поскольку вы уже знаете контекст.
То же самое относится и к Intents.Что такое Намерение?Что-то, что имеет намерение - Одним из них является начало деятельности.
Intent intent = new Intent(getApplicationContext(),ActivityTwo.class);
startActivity(intent);
Если это делает вашу концепцию немного более понятной, чем давайте перейдем к вашему вопросу и фактическому API -
Intent#(Context packageContext, Class<?> cls)
Как вы уже заметили, первый аргумент должен иметь тип Context , который, как мы знаем, является абстрактным классом.Обычно вы можете передать любой конкретный класс, который расширяет класс Context
- класс Activity
, являющийся одним из них (в этом случае вы просто используете this
в качестве аргумента).