[Android Memory] android 警告:Exported activity does not require permission

时间:2022-01-13 11:32:38

在一个应用程序中添加了多个antivity后,在manifest.xml文件中会除了主Activity外,其它的Activity属性中都会有个警告:
Exported activity does not require permission

这是因为在Activity中添加了intent-filter属性,这个属性的添加意味着该Activity已经暴露给了不同进程的应用,也就是
说其它的应用程序不需要任何权限就可以*的实例化该Activity。显然,如果不是有特殊需求,没人会希望自己写得应用程序会有这么个隐患。

解决方法:
在Activity中添加:
android:exported="false"。

还有一种解决方法是定义Activity的权限。

先在<manifest>标签下加入

<permission android:protectionLevel="normal" android:name="oem.permission.SENDMAIL"></permission>

然后在<service>标签下

android:permission="oem.permission.SENDMAIL"

<service android:permission = "oem.permission.SENDMAIL"  android:name = ".AIDLService" >
<intent-filter>
<action android:name = "com.example.server.AIDLService" />
<category android:name = "android.intent.category.DEFAULT" />
</intent-filter>
</service>