В Android вы никогда не запускаете определенное приложение, по крайней мере, не напрямую.То, что вы делаете, это то, что вы создаете Intent
, то есть an abstract description of an operation to be performed
:
Intent предоставляет средство для выполнения позднего связывания во время выполнения между кодом в различных приложениях,Его наиболее важное применение - запуск мероприятий, где его можно рассматривать как связующее звено между действиями.По сути, это пассивная структура данных, содержащая абстрактное описание выполняемого действия.Основными частями информации в намерении являются:
действие - общее действие, которое должно быть выполнено, например ACTION_VIEW , ACTION_EDIT , ACTION_MAIN и т. Д.
data - Данные, с которыми нужно работать, например, запись человека вбаза контактов, выраженная в виде Uri .
Когда вы хотите запустить другое приложение, отправьте текстовое сообщение, выберите контакт, активируйте камеру и т. д.вы просто создаете и запускаете Intent
, а затем Android сам определяет, какое приложение оно должно запустить.
Итак, для вашего примера с операцией Notes:
startActivity(new Intent(Intent.ACTION_VIEW, Notes.CONTENT_URI));
Первоепараметр Intent.ACTION_VIEW
говорит о том, что этот Intet
отобразит что-то для пользователя.Второй параметр, Notes.CONTENT_URI
, является универсальным идентификатором ресурса для действия Notes (в вашем примере URI также может включать идентификатор, если вы хотите открыть действие с определенной заметкой).В результате для пользователя отображается активность Notes.
Если вам нужна дополнительная информация, я предлагаю прочитать о Основах приложений Android и Фильтры Intent и Intent ,которые подробно объясняют эти понятия