Anroid粘性广播原理分析、使用场景及潜在危害
一、粘性广播概念
粘性广播是一种持久化的广播,只要不被主动移除,发送后会长期存储在系统内存。
二、粘性广播使用
发送粘性广播只需要在AndroidManifest.xml中申请粘性广播权限
<uses-permission android:name="android.permission.BRO ADCAST_STICKY" />
代码示例:
发送粘性广播:
Intent intent = new Intent();
intent.setData("content:\\com.xxx.xxx.xxx.xxxprovider");
intent.setAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendStickyBroadcast(intent);
sendStickyBroadcast(intent);
接收粘性广播:
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
Intent intent = getApplicationContext().registerReceiver(null, intentFilter);
//获取intent中发送方携带的数据
移除粘性广播:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
context.removeStickyBroadcast(intent);