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

非Android开发者咨询:android:exported=true是否安全及作用

关于android:exported="true"的作用与安全性解答

一、这个属性的具体作用

你可以把Android里的「Activity」理解成APP的一个页面,android:exported就像这个页面的“准入权限开关”:

  • 设为true:这个页面允许**外部程序(包括系统本身、其他APP)**通过「Intent」调用打开。
  • 设为false:只有你自己的APP内部才能打开这个页面,外部完全访问不了。

你的MainActivity是APP的启动页,自带的intent filters(就是让你点击APP图标能启动应用的配置)本质上就是允许系统来调用它,所以从Android SDK 31开始,Google强制要求:凡是带有intent filters的组件,必须明确声明android:exported属性,你不设的话Google Console审核就过不了,这是硬性规则。

二、这个属性是否安全

对你的场景来说,完全安全,原因有两点:

  1. 你的MainActivity本来就是APP的对外入口,系统需要通过它启动你的APP,设true是符合设计逻辑的,不是额外打开了什么危险权限。
  2. Capacitor生成的MainActivity只是负责加载你的Web应用内容,没有处理敏感操作的逻辑,就算外部能启动它,也只是打开你的APP而已,不会泄露数据或执行危险操作。

唯一需要注意的是:如果你的APP里有其他带敏感功能的Activity,且不需要外部调用,那一定要把它的android:exported设为false,但你的MainActivity不属于这种情况。

附上你提到的配置代码:

<activity
    android:name="com.test.MainActivity"
    android:exported="true"
    android:launchMode="singleTask"
>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 11:50:33