You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求确认Android 15 Safer Intents中目标Intent过滤器匹配规则

关于Android 15 Safer Intents「匹配目标intent-filters」规则的理解确认

你的理解完全正确。

Android 15推出的Safer Intents安全策略中,「匹配目标intent-filters」规则明确要求:针对特定组件的显式Intent必须精确匹配该组件声明的intent-filter规范,哪怕是启动同一应用内的组件也需要遵守这一要求。

以你给出的Manifest声明为例:

<activity android:name="ShareActivity" android:exported="false">
    <intent-filter>
        <action android:name="android.intent.action.SEND"/>
        <data android:mimeType="text/plain"/>
    </intent-filter>
</activity>

原来仅设置data的显式调用方式:

Intent(context, ShareActivity::class.java).apply {
    setData(...)
}

由于缺少intent-filter中要求的ACTION_SEND动作,在Android 15上会失效;而补充了action的调用方式:

Intent(context, ShareActivity::class.java).apply {
    setAction(Intent.ACTION_SEND)
    setData(...)
}

完全匹配了组件声明的intent-filter规则,因此可以正常启动目标Activity。

此外,该规则会覆盖intent-filter的所有属性匹配要求——如果组件的intent-filter中还声明了category、data的其他限定项(如scheme、host等),即使是显式调用该组件,你的Intent也必须包含对应的匹配内容,不能遗漏任何intent-filter中定义的规则。

内容的提问来源于stack exchange,提问作者sweak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 14:49:56