Android 12 中 IntentFilter 和导出的组件是否有任何(记录不详的)更改?

Are there any (poorly documented) changes to IntentFilter's and exported components in Android 12?

我们使用如下声明(Manifest)来 link 应用程序的某些部分:

    <activity
        android:name=".some.package.SomeActivity"
        android:launchMode="singleInstance"
        android:exported="true">

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="https" />
            <data android:host="*.some-domain.com" />
            <data android:path="/native/foo" />
        </intent-filter>

    </activity>

在设备 运行 Android 12 上,这突然停止工作,例如扫描包含特定 URL 的二维码会自动在默认浏览器中打开它。在 Android 12 之前,当点击 link 之类的 https://some.domain.com/native/foo/bar/ 时,系统会在我们的应用程序中打开那些 URL。我检查了 changelog,但找不到任何可以解释此行为的内容(考虑到我们已经设置了 exported="true")。

我错过了什么,我如何告诉系统提供我们的应用程序来处理那些特定的 URLs?

更新 在测试了一些案例之后,我发现你应该将你的方案从 https 更改为非 https 字符串,例如 your_app_string。如果你仍然想使用 https 作为你的方案,你应该检查 doordash 的 tech blog.

你应该让android系统可以验证你的scheme.In简单的单词,从android12(api31)开始,你需要声明你的关联通过在以下位置托管数字资产链接 JSON 文件来过滤网站和您的意图:

https://some.domain.com/.well-known/assetlinks.json

official doc reference here