Activity或receiver中添加了intent-filter属性,这个属性的添加意味着该组件已经暴露给了不同进程的应用,也就是说其它的应用程序不需要任何权限就可以自由的实例化该组件。显然,如果不是有特殊需求,没人会希望自己写得应用程序会有这么个隐患。都会有个警告:
Exported activity does not require permission
解决方法:在组件中添加:android:exported="false"
<receiver android:name="com.pefis.natives.PermissionReceiver"
android:exported="false">
<intent-filter>
<action android:name="ch.serverbox.android.USB"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<meta-data
android:name="USB_DEVICE_ID"
android:resource="@xml/usb_device_id"/>
</receiver>
网友评论