androidexported 需要为 activity 显式指定。面向 Android 12 及更高版本的应用需要指定

作者:编程家 分类: android 时间:2025-10-21

在 Android 12 及更高版本中,开发者需要注意一个重要的变化,即在 标签中需要显式指定 android:exported 属性。这个属性控制着该 Activity 是否可以被其他应用或组件调用。在之前的版本中,默认值是 "true",即允许其他应用访问该 Activity。但是从 Android 12 开始,默认值将更改为 "false",这意味着如果开发者不显式地指定 android:exported 属性,该 Activity 将不可被其他应用或组件调用。

这个变化对于开发者而言有一定的影响,因为之前在没有指定 android:exported 属性的情况下,默认是可以被其他应用或组件调用的。但是现在,如果不显式指定该属性,其他应用将无法访问该 Activity,可能会导致应用功能异常或无法正常运行。

为了适应这个变化,开发者需要在 AndroidManifest.xml 文件中的 标签下添加 android:exported 属性,并显式指定其值。如果需要允许其他应用或组件调用该 Activity,将 android:exported 的值设置为 "true";如果不允许其他应用或组件调用该 Activity,则将其值设置为 "false"。

下面是一个示例代码,演示了如何在 AndroidManifest.xml 中显式指定 android:exported 属性:

xml

package="com.example.myapplication">

...>

android:name=".MainActivity"

android:exported="true">

在上述示例代码中,我们将 android:exported 属性的值设置为 "true",表示允许其他应用或组件调用 MainActivity。同时,我们还添加了一个 标签,用于指定该 Activity 是应用的主 Activity。

注意事项:

在设置 android:exported 属性时,需要根据实际需求来确定是否允许其他应用或组件调用该 Activity。如果开发者不清楚该属性的作用和影响,建议将其设置为 "false",以确保应用的安全性和稳定性。

Android 12 及更高版本中,开发者需要显式指定 标签中的 android:exported 属性,来控制该 Activity 是否可以被其他应用或组件调用。这个变化需要开发者在 AndroidManifest.xml 文件中进行相应的修改,以适应新的规则。在设置 android:exported 属性时,开发者需要根据实际需求来确定是否允许其他应用或组件调用该 Activity,并确保理解该属性的作用和影响。

希望本文能帮助开发者理解并适应 Android 12 中的这个变化,提升应用的安全性和稳定性。