【问题标题】:How to use PATTERN_ADVANCED_GLOB in android manifest intent-filter data?如何在 android manifest intent-filter 数据中使用 PATTERN_ADVANCED_GLOB?
【发布时间】:2019-06-27 05:01:09
【问题描述】:

读取android manifest的the docs on the <data> element,显示了三种不同的路径规范规则:

  • android:path - 对应 PatternMatcher 类的 PATTERN_LITERAL
  • android:pathPrefix - 对应 PatternMatcher 类的 PATTERN_PREFIX
  • android:pathPattern - 对应 PatternMatcher 类的 PATTERN_SIMPLE_GLOB

但在the docs of the PatternMatcher class 上还有一个 PATTERN_ADVANCED_GLOB,但清单文档似乎没有在任何地方提及它。是否可以在清单文件中使用 PATTERN_ADVANCED_GLOB ?语法是什么?

【问题讨论】:

    标签: android android-intent android-manifest


    【解决方案1】:

    没有。

    提醒,PATTERN_ADVANCED_GLOB 仅在 API 26 中为 PatternMatcher 类引入。

    清单中的意图过滤器的匹配能力有限,任何更改都必须保持向后兼容性。

    见:How to use PathPattern in order to create DeepLink Apps Android?

    【讨论】:

    • 谢谢。你知道是否有工作正在为这个“第四个选项”创建一个新的语法?
    • Google 不会预先宣布更改/功能。鉴于this bug on PatternMatcher 在将近 5 年的时间里仍然很出色,我不抱希望。这种类型的更改是在框架级别的,因此请意识到 Google/Android 团队需要确保模式匹配“修复/功能添加”不会破坏现有应用程序,或者他们必须构建所有内容以迫使开发人员支持清单中的 v1(旧样式)和 v2(新样式)模式匹配。
    • 我明白了 - 但他们可以创建一个 android:pathPatternAdvanced 并保持其余部分不变,这肯定不会破坏任何东西。但这已经离题了。谢谢!
    猜你喜欢
    • 2017-06-21
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 2021-09-15
    • 2023-02-04
    • 1970-01-01
    相关资源
    最近更新 更多