Exported service does not require permission警告

来源:互联网 发布:java 跨包无法import 编辑:程序博客网 时间:2024/05/17 18:16

很久没写过应用了,今天写一个Service时,在manifest文件的<service>标签发现了这个警告 

        <service                       android:name="SendService">            <intent-filter>                <action android:name="com.oem.OEMSendService.SENDMAIL" />            </intent-filter>                    </service>


查了下api,终于发现一些端倪

原因:这是一个可以被外部访问的service,需要使用权限来限制外部访问

解决方法:

1.添加

android:exported="false"

这种方法是限制外部访问,自然不需要权限了

2.声明权限

先在<manifest>标签下加入

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

然后在<service>标签下

android:permission="oem.permission.SENDMAIL"