Broadcast和BroadcastReciver的安全使用
来源:互联网 发布:网络婚恋诈骗广东 编辑:程序博客网 时间:2024/06/14 19:00
Broadcast的作用:
- 监听系统广播获得相应的系统状态:比如:监听系统的网络状态变化、电量变化等。
- 跨进程通讯:由于Android系统中的应用程序直接不能共享内存,因此,在不同的应用程序直接进行数据交互就可以使用广播来完成。
- 程序内通讯:如果我们的需要在层级跨度比较大的页面之间进行数据交互,那么使用广播则更加高效和快捷。比如:只能进行单点登录操作的应用,用户已经在A设备上登录,此时又在B设备上登录,那么A设备上的账号将不能用,需要重新登录或者切换账号。如果时候切换账户,就需要告知相应的界面数据已经改变,需要重新加载新用户的数据。
安全使用指哪方面呢
这里主要说的是程序内部的广播和广播接收者的的安全使用。
通常情况下,我们直接使用sendBroadcast发送广播,注册了相应action的广播接收者就能接到数据。如果我们的程序反编译后知道了响应的发送广播和接收广播的格式,那么可能一些恶意软件使用这个漏洞,给我们的程序带来一定的影响或者损失。
如何安全使用
使用LocalBroadcastManager
LocalBroadcastManager的注释文档如下:
Helper to register for and send broadcasts of Intents to local objects within your process. This is has a number of advantages over sending global broadcasts with sendBroadcast(Intent):You know that the data you are broadcasting won’t leave your app, so don’t need to worry about leaking private data.It is not possible for other applications to send these broadcasts to your app, so you don’t need to worry about having security holes they can exploit.It is more efficient than sending a global broadcast through the system.
大概意思:
1. 发送的广播只会在当前APP中传播,确保了数据的安全
2. 其它APP的广播无法发送到本APP中,不用担心安全漏洞被其它APP所利用
3. 比系统全局广播更加高效
总结
在程序开发中,如果在程序内容通信使用到了广播,那么建议使用系统提供的LocalBroadcastManager来管理广播,这样能够高效和安全的使用广播。
阅读全文
0 0
- Broadcast和BroadcastReciver的安全使用
- Android的BroadcastReciver收不到Broadcast(系统广播)的原因之一
- Android的BroadcastReciver收不到Broadcast(系统广播)的原因之一
- Android的BroadcastReciver收不到Broadcast(系统广播)的原因之一
- Broadcast和BroadcastReceiver的使用和介绍
- BroadCastReciver
- AngularJS的 $on、$emit和$broadcast使用
- AngularJS $on、$emit和$broadcast的使用
- $on、$emit和$broadcast的使用
- $on、$emit和$broadcast的使用
- AngularJS $on、$emit和$broadcast的使用
- Broadcast安全
- Broadcast广播的使用
- Broadcast Receive的使用
- Broadcast Receiver 的使用
- Broadcast广播的使用
- Broadcast Reciever的使用
- Broadcast receiver 的使用
- 一个小问题:随机输出一个数组中全部数值?
- linux使用shell的基本功能
- HDU1257 最少拦截系统 DP(最大递增子序列)
- csv 按指定列顺序写入
- MicroSoft:面试题收集与解题思路
- Broadcast和BroadcastReciver的安全使用
- 给初学PLC编程的朋友几点建议
- 二叉树的建立和遍历
- IMEI、MEID、ICCID、UDID、IMSI
- spark,hadoop,hbase集群无法停止的问题
- C#网页分页标签生成
- RedLock
- 程序员:天天加班,但是加班费呢?
- 剑指offer题解C++【25】复杂链表的复制