加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

广播接收器

发布时间:2020-12-15 00:38:47 所属栏目:C语言 来源:网络整理
导读:有序广播 sendOrderedBroadcast()方法接收两个参数,第一个参数仍然是 Intent,第二个参数是一个与权限相关的字符串,这里传入 null就行了。 广播传递的顺序 注册的时候广播设定的priority的优先级 终止广播 abortBroadcast(); 本地广播 主要就是使用了一个L

有序广播

sendOrderedBroadcast()方法接收两个参数,第一个参数仍然是 Intent,第二个参数是一个与权限相关的字符串,这里传入 null就行了。

广播传递的顺序

注册的时候广播设定的priority的优先级


         
 

终止广播

abortBroadcast();

本地广播

主要就是使用了一个LocalBroadcastManager来对广播进行管理
本地广播的优点

  1. 可以明确地知道正在发送的广播不会离开我们的程序,因此不需要担心机密数据泄漏的问题。

  2. 其他的程序无法将广播发送到我们程序的内部,因此不需要担心会有安全漏洞的隐患。

  3. 发送本地广播比起发送系统全局广播将会更加高效

` LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this);

1.发送本地广播

Intent intent = new Intent("com.example.broadcasttest. LOCAL_BROADCAST");
localBroadcastManager.sendBroadcast(intent); // 发送本地广播

2.注册本地广播

3.注销本地广播

localBroadcastManager.unregisterReceiver(localReceiver);

注意:本地广播是无法通过静态注册的方式来接收的

监听系统广播

1.网络变化

1. 添加网络权限

2. 继承广播接收者

3. 注册监听网络变化

2.开机启动

1.添加权限

android.permission.RECEIVE_BOOT_COMPLETED

2.继承广播接收者

3.Manifest中静态注册

 
     
        
 

示例:强制下线

  1. 发送一条广播

  2. 接收到广播后finish掉所有的activity

设置AlertDialog的类型,保证在广播接收器中可以正常弹出

注意:

1.在广播中启动Activity需要添加 FLAG_ACTIVITY_NEW_TASK
2.需要把Dialog的类型设为 TYPE_SYSTEM_ALERT,不然它将无法在广播接收器里弹出
3.需要权限android.permission.SYSTEM_ALERT_WINDOW

[doc]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读