Exported service does not require permission警告【转载】
今天学习Service,练习时写了一个Service时,在manifest文件的<service>标签发现了这个警告。
1 <service 2 3 android:name="SendService"> 4 <intent-filter> 5 <action android:name="com.oem.OEMSendService.SENDMAIL" /> 6 </intent-filter> 7 8 </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"
(PS:转载自http://blog.csdn.net/zxf20063033/article/details/7702779 )