APP开发公司浅谈广播的安全性,Android系统中的广播可以跨进程甚至跨APP直接通信,这样会产生以下两个问题。
其他APP可以接收到当前APP发送的广播,导致数据外泄。
其他APP可以向当前APP发送广播消息,导致APP被非法控制。
(1)发送广播
发送广播时,增加相应的permission,用于权限验证。
在Android4.0及以上系统中发送广播时,可以使用setPackage方法设置接收广播的包名。
使用局部广播。
(2)接收广播
注册广播接收器时,增加相应的permission,用于权限验证。
注册广播接收器时,设置android:exported的值为false。
使用局部广播。
示例代码如下:
Intentintent=newIntent();intent.setAction("com.eam.read");intent.putExtra("data","test");intent.setPackage("com.ruwant.test");sendBroadcast(intent,Manifest.permission.SEND_SMS);
发送广播时,如增加了permission,那接收广播的APP必须申请相应权限,这样才能收到对应的广播,如下所示:
<uses-permissionandroid:name="android.permission.SEND_SMS"/>
反之,如注册广播接收器时增加了permission,如下所示:
<receiverandroid:name="com.ruwant.eam.broadcast.EamOrderBroadcastReceiver" android:permission="android.permission.SEND_SMS"> <intent-filter> <actionandroid:name="com.eam.read"/> </intent-filter></receiver>
那么发送广播的APP也必须申请相应权限,这样才能发送广播给对应的广播接收器,如下所示:
<uses-permissionandroid:name="android.permission.SEND_SMS"/>
深圳APP开发公司本文关于“APP开发公司浅谈广播的安全性”的知识就介绍分享的到这里,谢谢关注,博纳网络编辑整理。