Можно ли иметь разные фильтры намерений для установленного приложения и мгновенного приложения? - PullRequest
0 голосов
/ 08 октября 2019

В настоящее время я использую старый плагин для создания мгновенного приложения. В файле AndroidManifest базового функционального модуля у меня есть активность B, которая прослушивает намерения по шаблону "/ pets / dogs / cages"

В файле AndroidManifest моего приложения есть активность C, которая прослушивает намерения по шаблону "домашние животные /..*/ клетка». У меня также есть вид деятельности B, для которого я использую "tools: node =" replace ", так что фильтры, ранее указанные в функциональном модуле, игнорируются.

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

Эта настройка хорошо работает для старого функционального плагина, но у меня возникают проблемы при попытке добиться этой же функциональности, когдапереключение на пакеты приложений и динамические функции.

В старой настройке манифест модуля приложения имел более высокий приоритет. Однако при переходе на новую структуру я предполагаю изменить модуль функции на новый модуль приложения истарый прикладной модуль к динамически-функциональному модулю.

Любые советы?

1 Ответ

0 голосов
/ 11 октября 2019

Дело в том, что ранее модуль приложения не был включен в настоящее приложение, поэтому ваша конфигурация фильтра намерений там была исключена из данного приложения. И технически, tools:node="replace" не должен был работать, так как ваши фильтры намерений /dogs/ и /..*/ были в любом случае отдельными действиями. Вы, вероятно, наблюдали только активность C, обрабатывающую все URL-адреса, потому что охват его фильтра намерений включал в себя B, что придавало ему более высокий приоритет.

Однако, теперь, это не имеет значения, установленное или мгновенное приложение, как приложение, так ивсе модули объединены / включены. Таким образом, фильтр намерений вашей деятельности-C занимает ведущее место.

Один из способов - загрузить отдельные пакеты для вашего установленного и мгновенного приложения. Ваш мгновенный пакет настроен на /dogs/ (с активностью-C без намерений), а установленный пакет с /..*/ (с вашим намерением B).

(если возможно, вы также можете просто объединитьваши B и C вместе в одном действии, поэтому вам не нужно переключать конфигурации фильтра намерений между двумя различными активностями)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...