Android 四大组件学习之BroadcastReceiver一
本节课学习四大组件最后一个, 广播接受者。 顾名思义广播接受者就是接受广播呗。比如在现实社会中,以前每个人家都有一台收音机,这可就可以去接受广播发出来的消息。大家都知道,程序世界也是参照的显示生活设计出来的,那在Android系统中也引入了广播这个概念。那在Android系统中广播有什么作用呢? 举个例子:比如你正在玩游戏或者看视频突然手机电量过低,这时候就会弹出一个框,提醒您手机电量过低,请充电的提示。其实电量改变就是一种广播类型,当电量过低时,系统就会发生一条广播,这时候正在运行的程序就会收到,同时给用户提醒。在Android系统中广播有很多类型。比如: 开机,关机, 打电话, 发短信,屏幕解锁等。
在举例之前,我们先学会创建一个广播接受者
第一步:
创建一个java类,我取名为MyBroadcastReceiver。同时继承BroadcastReceiver
第二步: 当清单文件中注册(四大组件都需要注册)
<receiver android:name="com.ui.broadcastreceiver.MyBroadcaseReceiver"></receiver>
第三步:需要配置你接受那种类型的广播,系统中广播那么多,你得指定你到底要接受那种类型的广播(比如我们接受电池电量过低的广播)
<receiver android:name="com.ui.broadcastreceiver.MyBroadcaseReceiver"><intent-filter><action android:name="android.intent.action.BATTERY_LOW"/></intent-filter></receiver>
第四步:指定接受广播的权限,这个不是每个广播都必须要做的。 一般侵犯用户隐私的都需要加上权限,比如接受短信广播
<uses-permission android:name="android.permission.RECEIVE_SMS" />
这样的话一个广播接受者就创建成功了。当系统发送广播的类型正好与你接受的类型一样,这时候我们创建的广播的onReceiver方法就会被调用。
既然学习了如何创建一个广播接受者,那我们就举例学习接受系统打电话的广播,当用户打电话时就会发出广播,这时候如果注册接受大电话的广播,就会调用我们的onReceiver方法。
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;public class MyBroadcaseReceiver extends BroadcastReceiver {//当接受到系统打电话的广播后调用@Overridepublic void onReceive(Context arg0, Intent arg1) {//得到广播中的电话号码String number = getResultData();Log.i("MyBroadcastReceiver", "有电话打出去了,号码是: "+number);}
}
需要到清单文件中去注册广播接受者,同时加上是对那个广告的监听
<receiver android:name="com.ui.broadcastreceiver.MyBroadcaseReceiver"><intent-filter><action android:name="android.intent.action.NEW_OUTGOING_CALL"/></intent-filter></receiver>
需要注意的是:需要加上打电话的权限:
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
这时候我们运行起程序后拨打电话:显示效果为:
是不是很简单,很好学。相比Activity,Service以及ContentProvider,广播接受者相比就很好学。但是很好学不代表没用,其实四大组件都是很有用的。
Android 四大组件学习之BroadcastReceiver一相关推荐
- Android四大组件之——Activity的生命周期(图文详解)
转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai 联系方式:JohnTsai.Work@gmail.com [Andro ...
- android进阶(九)-----Android四大组件的工作过程
一.四大组件的运行状态 android四大组件中国除了BroadcastReceiver以外,其他三种都必须在AndroidManifest中注册,对于BroadcastReceiver既可以在And ...
- Android四大组件系列7 Broadcast广播机制(上)
一 概述 广播 (Broadcast) 机制用于进程或线程间通信,广播分为广播发送和广播接收两个过程,其中广播接收者 BroadcastReceiver 是 Android 四大组件之一.Broadc ...
- Android四大组件之BroadCastReceiver
1. 基本概念 在Android 中,Broadcast 是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver 是对发送出来的Broadcast 进行过滤接受并响应的一类 ...
- Android四大组件---BroadcastReceiver
前言: BroadcastReceiver(广播接收器),属于 Android 四大组件之一 在 Android 开发中,BroadcastReceiver 的应用场景非常多 今天,我将详细讲解关于B ...
- Android四大组件之——Broadcast学习总结
1.Broadcast概念 是一个全局的监听器,属于Android四大组件之一.Broadcast(广播)是一种广泛运用的在应用程序(APP)之间传输信息的机制.而BroadcastReceiver( ...
- android 广播的权限,Android四大组件详解之BroadcastReceiver广播接收者
Android四大组件详解---BroadcastReceicer广播接收者 广播有两个角色,一个是广播发送者,另一个是广播接收者. 广播按照类型分为两种,一种是全局广播,另一种是本地广播 全局广播: ...
- Android 四大组件通信核心
前言 系列文章: Android Activity创建到View的显示过程 Android 四大组件通信核心 Android 系统启动到App 界面完全展示终于明白(图文版) 我们知道Android ...
- Kotlin第七章: Android四大组件
1. 四大组件 四大组件是每一个Android人必须要会,要掌握的知识点,因为他们是我们在日常开发工作中打交道最频繁的组件,而且他们四个在不同的领域扮演着极其重要的角色. Activity: 负责用户 ...
- Android四大组件总结
四大组件系列文章 Activity总结和补充:Activity总结和补充_fdsafwagdagadg6576的博客-CSDN博客 Android Binder&Aidl理解和补充:Andro ...
最新文章
- 北京迎“豪宅元年”:四环房价将迈入8万元时代
- Shell编程进阶 1.7 case选择
- Visual C# 2008+SQL Server 2005 数据库与网络开发--13.1.3 简单记事本程序菜单设计
- 机器学习-预测之时间序列分析预测法原理及实战
- Leet Code OJ 168. Excel Sheet Column Title [Difficulty: Easy]
- Vue学习(vuex)-学习笔记
- How to bind multiple properties with formatter on one control
- error 1307 (HY000):Failed to create procedure
- SUSE Labs Con 2018有感
- vc ++ 如何做界面开发?
- 计算机主机hdmi接口是什么意思,hdmi接口有什么用,教你详细的计算机hdmi接口功能...
- 电脑可以登录QQ但是却无法打开网页
- 网络基础3【网络层、数据链路层】
- 看 YGG SEA 如何玩赚东南亚市场 | AMA回顾
- Java注解方法实现BigDecimal保留两位小数(案例详解)
- leetcode:活字印刷
- 小程序paho.mqtt连接微消息队列 MQTT 版
- 基于java实现的学生档案管理系统毕业论文(可下载)
- RFID资产管理应用助力企业运营
- 【从入门到出图】全网最详细、最全+数据分享无套路