Как использовать PATTERN_ADVANCED_GLOB в данных фильтра намерений манифеста Android?

При чтении документы по элементу <data> манифеста Android отображаются три разных правила указания пути:

  • android:path — соответствует PATTERN_LITERAL класса PatternMatcher
  • android:pathPrefix — соответствует PATTERN_PREFIX класса PatternMatcher
  • android:pathPattern — соответствует PATTERN_SIMPLE_GLOB класса PatternMatcher

Но на документы класса PatternMatcher также есть PATTERN_ADVANCED_GLOB, но в документации по манифесту он нигде не упоминается. Можно ли использовать PATTERN_ADVANCED_GLOB в файле манифеста? Каков синтаксис?

0
0
289
1

Ответы 1

Нет.

Напоминаем, что PATTERN_ADVANCED_GLOB был введен только в API 26 для класса PatternMatcher.

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

См.: Как использовать PathPattern для создания приложений DeepLink для Android?

Спасибо. Знаете ли вы, ведется ли работа по созданию нового синтаксиса для этого «четвертого варианта»?

Pedro A 03.02.2019 04:25

Google не объявляет заранее об изменениях/функциях. Учитывая, что эта ошибка на PatternMatcher все еще не погашен почти 5 лет, я не надеюсь. Этот тип изменений находится на уровне фреймворка, поэтому помните, что команда Google/Android должна убедиться, что соответствие шаблона «исправить/добавить функцию» не нарушит существующие приложения, или им придется создавать все, чтобы заставить разработчиков поддерживать Шаблоны v1 (старый стиль) и v2 (новый стиль) совпадают в манифесте.

Morrison Chang 03.02.2019 05:34

Ясно - но они могли бы создать android:pathPatternAdvanced и оставить остальные нетронутыми, конечно, это ничего не сломает. Но это становится не по теме. Спасибо!

Pedro A 03.02.2019 12:58

Другие вопросы по теме