При чтении документы по элементу <data> манифеста Android отображаются три разных правила указания пути:
android:path — соответствует PATTERN_LITERAL класса PatternMatcherandroid:pathPrefix — соответствует PATTERN_PREFIX класса PatternMatcherandroid:pathPattern — соответствует PATTERN_SIMPLE_GLOB класса PatternMatcherНо на документы класса PatternMatcher также есть PATTERN_ADVANCED_GLOB, но в документации по манифесту он нигде не упоминается. Можно ли использовать PATTERN_ADVANCED_GLOB в файле манифеста? Каков синтаксис?
Нет.
Напоминаем, что PATTERN_ADVANCED_GLOB был введен только в API 26 для класса PatternMatcher.
Фильтры намерений в манифесте имеют ограниченные возможности сопоставления, и любое изменение должно поддерживать обратную совместимость.
См.: Как использовать PathPattern для создания приложений DeepLink для Android?
Google не объявляет заранее об изменениях/функциях. Учитывая, что эта ошибка на PatternMatcher все еще не погашен почти 5 лет, я не надеюсь. Этот тип изменений находится на уровне фреймворка, поэтому помните, что команда Google/Android должна убедиться, что соответствие шаблона «исправить/добавить функцию» не нарушит существующие приложения, или им придется создавать все, чтобы заставить разработчиков поддерживать Шаблоны v1 (старый стиль) и v2 (новый стиль) совпадают в манифесте.
Ясно - но они могли бы создать android:pathPatternAdvanced и оставить остальные нетронутыми, конечно, это ничего не сломает. Но это становится не по теме. Спасибо!
Спасибо. Знаете ли вы, ведется ли работа по созданию нового синтаксиса для этого «четвертого варианта»?