Можно ли использовать разные фильтры намерений для установленного приложения и мгновенного приложения?

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

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

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

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

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

Какие-нибудь советы?


person user1857437    schedule 08.10.2019    source источник


Ответы (1)


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

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

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

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

person TWL    schedule 11.10.2019