APP开发实战159-广播的安全性

本文探讨了Android广播可能带来的安全问题,包括数据外泄和APP被非法控制。Google建议通过添加权限验证、指定接收包名、使用局部广播等方法提升广播的安全性。发送广播时,可以设置permission并使用setPackage方法;接收广播时,可在注册时添加permission并将android:exported设为false。局部广播也能有效增强安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

18.4广播的安全性

Android中的广播可以跨进程甚至跨APP直接通信,这样会产生两个问题:1 其它APP可以接收到当前APP发送的广播,导致数据外泄。

2 其它APP可以向当前APP发送广播消息,导致APP被非法控制。

Google官方提供了几种方案,从发送广播和接收广播两个方面增强广播的安全性:

1 发送广播

(1)   发送广播时,增加相应的permission,用于权限验证。

(2) 在Android4.0及以上系统中,发送广播时,可以使用setPackage函数设置接收广播的包名。

(3) 使用局部广播。

2 接收广播

(1)   注册广播接收器时,增加相应的permission,用于权限验证。

(2)   注册广播接收器时,设置android:exported 的值为false。

(3)   使用局部广播。

示例代码如下:

Intentintent = new Intent();
intent.setAction("com.eam.read");
intent.putExtra("data","test");
intent.setPackage("com.ruwant.test");
sendBroadcast(intent, Manifest.permission.SEND_SMS);

当发送广播时,如增加了permission,那接收广播的APP必须申请相应权限,如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值