00:00
来。上一次课呢,我们主要讲了两个知识,能看到吧。来是吧,一个是broadcast receiver广播接收器。另外一个呢,叫container provider。内容提供者,这两个呢,在项目中他用的稍微多一些。但它比较简单,用起来比较特别容易,那content provider用的比较少。啊,反倒是用它里面另外一个内容的比较多一些啊内容解析器好,我们先一个一个来看。啊,先来看一下broadcast receiver。来,现在看第一个。啊,理论概述相关的,第一个呢,就是关于它的特点和作用。啊,这个大家需要去知道。嗯。有两个概念啊,这里面一个叫系统级的事件处理,一个叫视图级的事件处理。啊,前面我们学的都是视图集的,也就是说那个事件处理是作用在某一个视图身上了,对吧,它的范围就在哪那好了。
01:09
那系统级的是什么意思呢?你怎么去理解系统级的事件处理呢?这里面有一个概念,它是可以跨进程,就是应用之间进行通信的一种手段。我一个应用发一个广播出去,那其实所有任何的应用都有能力来去接收我们的广播并处理。这就是说的跨应用啊。好,这是这一个啊,我把它呢给它。写一下截图。放在这里,大家后面呢可以看一下。这是这一个,下面一个呢,就是相关的API,这个呢也并不多。
02:01
啊,主要涉及到两个。啊,一个是发广播和注册广播接收器的,用context。再一个呢,接收广播的。广播接收器啊,接收广播的回调方法。啊,还有什么中断广播,判断广播是否是一个有序广播。就这一些相关的API并不算特别多。啊,方法呢,也比较贱民之意。来,把它放下来。嗯,好了,下面一个就是我们常见的广播,嗯,在这里面呢,我们现在为止用到了这两个。一个是接收短信的广播,一个是开机完成的广播。另外的三个呢,我们后面啊,在手机微视里面做项目的时候会用到先大概有一个了解。
03:04
啊,有一个小印象,能有印象就有,没有印象拉倒啊,这都这都不是大家需要现在就立即把它背下来的一个问题啊。收到短信的广播,它是一个什么广播来着?是要有序广播呀,啊,这个开机广播我们一般用来做什么呀。是不是开机启动某一个服务对不对啊,这是经常会有可能会用到的一个啊功能。好,来,我们把它拷备下来。啊,大家需要重点注意的是这个蓝色部分,下面就涉及到两个问题。一个是发广播,一个是注册广播接收器。哎,我们呢,先可以看一下如何来注册广播游戏了,首先第一步。是不是要写一个广播接收器内去继承于broadcat receive,去重写它的on receive方法?Receive方法我不说,它用来干嘛呢?
04:07
接收广播或者叫处理广播是不是都可以啊?嗯,都可以,没有问题啊。好,这是说的你注册广播的第一步,你要去写一个广播接收器类,但这样呢还不够,下面是干嘛,是不是注册啊啊配置啊,但它的配置呢,跟别的组件有点不太一样。它有两种注册的方式,第一种呢,是我们常规的注册方式,叫静态注册,就配置文件注册,还有一种什么动态注册。这个动态注册的时机就跟静态注册有点不太一样了吧,嗯,来我们呢,先把它复制过来。
05:06
这一个是写类,一个是去注册,还一个就是比较,因为我有两种注册的方式啊,下面就存在一个比较,它们俩到底有什么样的区别。啊,这个是有可能在面试或者笔试的时候容易考的题。嗯。其实真正我们写代码的时候,没有太想着去区别它,只是确实是就在这个地方啊,大家看着这个这个应用场景是很关键的。好,我把它呢,给它复制过来,就是这一个啊,关于注册广播接收器,下面一个就是关于发送广播。那我们有几种类型的广播来着?两种是吧,一种是一般的广播,一种叫有序广播,他们的API也不太一样啊,重点是这两个方法都好说,区别他们俩很关键。
06:12
对吧,我们要去区别你一般广播和有序广播到底有什么样的差别。这个也是在面试的时候容易问到的一个问题,所以说呢,我专门在这里面给大家留下来,包括这一个,这刚才是用文字的一个区别啊,这一个呢,它是用图形的方式来去说明,两种广播。它不一样的地方在哪里?嗯。把它呢,给它截下来。嗯。好,这样我们就给大家说了一下啊,有序广播和无序广有一半的广播。啊,两种方式。好了吧,刚才什么这个这么热啊。
07:06
我的就感觉突然间怎么好了,我的感觉停电了,以为好,来下面继续往下看吧,嗯。好,下面呢,就是一些练习,我们在练习里面呢,做了两个功能。一个就是实现电话监听服务的自启动,我们用的什么技术啊,用什么呀。啊,使用receive,就是broadcat receive receive去监听什么呀,监听开机广播监听到了以后干嘛呀?啊是不是接收广播就启动服务啊,接收广播就启动嗯,电话监听的service吧,嗯。而service里面内容我们是不是上一次课已经写好了吧?啊,所以这个事就不那么复杂了。
08:06
好了,来就这一个啊,下面一个就是实现黑名单短信的拦截。那首先我们得知道啊,系统也就手机接收到短信以后做了个什么事。是不是发了一个有序广播呀,啊,就是手机,嗯,接收到短信后发了一个啊有序广播。那个短信数据在哪呢?是不是并将短信数据呃保存在了什么广播的是不是intent中啊,有发广播的时候是不是需要一个intent,对啊,广播的intent中,而我们需要做的就是什么呢?是不是使用那个接receive来接收这个广播呀,使用receive啊来接收此广播,其实那个广播我们重点看它的什么,我怎么知道是接收哪个广播呀。
09:22
确定它的就是action对不对啊,但是action具体的值你不用记,你只要知道我要写的重点写的就是action对吧。使用receive来去接收此广播,并从intent中取出。是不是短信数据啊?这个短信数据包含重要的两个。一个号码一个什么内容是吧,至少有这两个吧,好啦。那下面我们怎么做呢?
10:00
是判断号码是否是黑名单号对吧,黑名单号那如果是。叫一个中断广播,是不是它有一些对应的方法呀,嗯,就这么一个事。啊对啊,还有一个概念,这里面也很重要啊,就是有一个事情叫优先级,什么为什么要优先级这个概念呢?因为我们是不是希望当前的这一个receiver在系统短信应用的receive之前就行了,不然的话怎么拦截呢?对吧,OK,就这里是吧,好,大家看啊,叫什么呢?为了。能在啊系统短信应用。之前接收到广播必须怎么办?指定receiver的优先级。
11:12
对吧,最好指定int值的的什么是最大值啊,它会有一个叫什么这个max value啊,嗯,这样就无敌了啊,就这样的一个意思啊。好。这是我们在做应用的过程中的一些主要的点,给大家写一下,嗯,其他的就没了,我们先呢把这个。
我来说两句