在一个应用程序中添加了多个antivity后,在manifest.xml文件中会除了主Activity外,其它的Activity属性中都会有个警告:
Exported activity does not require permissionandroid
这是由于在Activity中添加了intent-filter属性,这个属性的添加意味着该Activity已经暴露给了不一样进程的应用,也就是 说其它的应用程序不须要任何权限就能够自由的实例化该Activity。显然,若是不是有特殊需求,没人会但愿本身写得应用程序会有这么个隐患。ui
解决方法:
在Activity中添加:
android:exported="false"。spa
还有一种解决方法是定义Activity的权限。code
先在<manifest>标签下加入orm
<permission android:protectionLevel="normal" android:name="oem.permission.SENDMAIL"></permission>server
而后在<service>标签下xml
android:permission="oem.permission.SENDMAIL"blog
<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>