Android 14 适配之 - 隐式/显示 Intent 和 广播适配

avatar
作者
猴君
阅读量:0

隐式 Intent

对隐式Intent 限制:

对 Android 14(API 级别 34)或更高版本为目标平台的应用,Android 会限制应用向内部应用组件发送隐式 intent:

1. 即隐式 intent 只能发送给导出的组件。在应用必须使用显式 intent 来发送组件,且被发送的组件是未被导出的属性配置。

2. 如果被发出的组件是先导出的配置,则可以使用隐式的Intent。

此变更是为防止恶意应用拦截意在供应用内部组件使用的隐式 intent。

如下示例:

<activity   android:name=".AppActivity"   android:exported="false">   <intent-filter>     <action android:name="com.example.action.APP_ACTION" />     <category android:name="android.intent.category.DEFAULT" />   </intent-filter> </activity>

若尝试使用隐式 intent 启动此 activity,则系统会抛出异常;比如如下方式启动,则会抛出异常:

Kotlin 版本:// Throws an exception when targeting Android 14. context.startActivity(Intent("com.example.action.APP_ACTION"))

java 版本

// Throws an exception wh

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!