Как узнать, на какие действия и URI будет реагировать данный пакет приложения? - PullRequest
1 голос
/ 11 сентября 2010

Скажем, я хочу попросить приложение "Телефон" набрать номер, приложение "Карты", чтобы отобразить определенное местоположение, или приложение "Навигатор", чтобы перейти к определенному месту и т. Д.нужно транслировать или отправить намерение.Но какие действия / категории / данные URI я использую?Что будет распознавать и реагировать каждое приложение?Это похоже на основную информацию, которая должна быть документирована где-то очевидно.Но до сих пор я не смог найти его.

Я нашел класс PackageManager, который, похоже, мог бы рассказать мне все, что я хотел бы знать.Если я найду время, чтобы написать приложение-браузер пакетов, чтобы запросить его.Что я вполне готов сделать, но что-то настолько безумно полезное, должно быть, уже кто-то написал.Почему я не могу найти один?Я смотрю в неправильных местах?

Спасибо

1 Ответ

1 голос
/ 11 сентября 2010

Для операций ОС, большая часть Intents, которую вы ищете, документирована в Intent классе (см. Таблицу констант, константы с префиксом ACTION_ и особенно те, которые описаны как "Активное действие »).В Javadocs объясняется, что требуется для каждого из этих Intent действий.

Для некоторых приложений Google вы видите Intents, документированные в приложении в руководстве разработчика .

Сторонние приложения должны документировать все, что они считают общедоступным API-интерфейсом, на своих собственных сайтах.

Так, например, это касается "попросить приложение Phone набрать номер" (ACTION_DIAL) и «Приложение Карт для отображения определенного местоположения» (geo: Uri).

Оно не охватывает «Приложение Навигатор для навигации в определенном месте», потому что Google написал это приложение и решил не делать этого.документ или поддерживать любой публичный API для него.Это решение Google сделать.

...