00:01
刚才的是我们手动的去挂的。那个电话,但真正的功能不是那个功能,真正功能是要实现什么呢?黑名单电话呢,叫自动拦截,就拦截其实上就是什么。是不是挂断了?啊,好了,来。那这个时候啊,有几个是第一个,我如何来监听电话状态,是不是是这意思吧,也就是说我的应用,我装了这个应用以后,我把应用退出,这个功能是不是应该还有。那我应该在哪里去做啊?是不是在服务里面去做呀。也就是我这个拦截黑名单的这个电话的功能,它是在于我界面没有了,我还是有这个功能。所以说你必须在服务里面去做。这个地方就涉及到啊,你要去启动一个服务。啊,在服务中去监听。
01:01
变化状态。你说电话什么状态啊。他至少应该有几种状态是知道的,像您是不是一种特别大,还有什么。是不是接通啊。是一种吧,还有一种呢,就是固段固断。啊,挂断跟没没来电话是一个意思吧,就进入了初始状态对不对,进入空闲状态了,有一个概念叫空闲,什么叫空闲呢?就没有来电呗,对吧,有没有响铃又没有接通,就是空闲。对吧,嗯。好啦。那如果我今天电话,如果发现电话状态是一个响零的状态时。那我就会判断他。是不是黑名单号啦?对吧,如果是黑号。挂断电话,挂断电话,这是我们已经做了,对不对。
02:00
啊,就主要前面东西要做了吧。好了。啊,假设我们的黑名单呢,就是110。啊,在这里面涉及到几个API,首先有一个刚才给大家看到的叫manager。叫电话服务的管理器,那如何来得到这个对象呢?有这样一个方法,叫context的点,Get service system service叫系统的服务。传一个他刚才我们传过类似的呀。嗯,等会就这样,它里面呢有一个方法。叫listen方法,Listen什么意思?监听的意思啊,传一个监听器接着监听什么呢?Data,什么意思?电话通话状态吧,或者叫通话状态会更好一些,好。那下面啊,看到。
03:00
在这里面呢,有监听器对象。啊,Phone data叫电话状态监听器,它里面有一个非常重要的方法。On state change什么意思?当电话通话状态什么改变的一个回调方法来,这是啥呀?Number是进来的号码呀,说白了就谁给你打电话了。好,下面这个是什么。是不是当前的状态呀,那一共有三个状态值。有I reading of work iol是初始化状态,也可以把它想成空闲状态。啊,下面一个是响铃,最后一个什么呢?接空你是通话的状态,知道为什么叫吗?
04:02
啊,我们来看一下of什么意思。哎,完了怎么。大小姐,他都管了。没有没有网络这里面呢,没存啊,简单说一下,它叫在一起挂起。什么意思?不是挂机不是,你想以前老电话,那电话是不是看电视剧没看过电视剧啊,他是30,你要给起来。见过吗?这现在你估计都没见过了是吧?这个电话他不是先摆在那上面吗?你是不是要拿起来才接通啊,他响了以后你把待机啊,相当于你把机器摘起来再接通啊,那就自动接通了吧,啊就这样一个意思啊,反正大家断了是吧。啊,这是这一个就是接通的状态啊好。
05:00
拿。啊,我们现在可以来简单的说一下该怎么整啊。来个它写一个APP,零七这一个呢,就是service的综合练习啊。两个都要本地service和远程service都会用到adl。哎,怎么选AIDL去了,这是入魔了啊。来首先看界面,界面呢是这样一个界面。好看,叫启动来电监听和停止来电监听,你说启动来电听干什么呀?
06:00
是不是启动服务啊,停止来电监听呢?就停止服务呗,对吧,好来啊,这个有没有啊。完了没有,他只有两个权限,那我得自己整了,就懒成不成样子了是吧。来看它这个地方。来一个充满。对吧,这个叫启动来电监听,嗯,来给它一个on click。叫start。你选什么,你选呗。不监听来电吗?接听电话嘛,对吧,开启接听电话好啦,下面还一个。啊,这个叫停止。那就不叫了,叫stop,好,他们俩上下排列,这次相对不局,我怎么做?
07:07
怎么写布局?准备定位呀,加什么属性。我第二个button在上面这个button上面这个就要有个ID是吧,好ID我写上,我就给你写上,我就问你的是那个该怎么该怎么做。好,这个怎么写,是不是below啊,在谁的下面呢?来一个ID。是不是他呀,来看一下对了吧,嗯。好,现在呢,我们把这两个方法给它整上。
08:03
嗯,好,还有一个。他。这里面呢,加什么呢?Stop停止对吧,好,下面我们刚才说过这是怎么做。做过什么事启动服务啊?大的service需要有一个intend吧,另一个intent显示还是隐色。显是吧?那服务不是我的吗?来一个this好了,需要写一个服务名吗?这个叫监听电话的一个服务叫或service.class。美女吧,好,下面这一个跟这个类似,叫什么来着,是不是stop呀,啊stop来等他一下就是stop service是不是写他去。
09:04
好。写呗。你有一个累。继承一个service。嗯,好了,把它呢做一个配置。这个事情都别忘了。Service。哪一个他好写一个。Name写个全名好了吧。好先呢,我来去看一下我的启动和停止有没有效果,有没有一个服务的效果,我这样啊,我一个on create,再来一个on destroy是吧,在这里面呢,写个打印信息,看我的停止和启动有没有一个一般的效果。这个叫service。
10:01
来,大家拿过来。好,我们先来看它行不行啊。先这个是跟我们后面功能啊,不会有太大难度了,好了,这来说一个是前面我们说过。打电话必挂。没事,Reset必好。我靠,这好像有点危险呢。来看看。哎。是不是错了呀,看这一个。来启动。Unre要了吗,停止。On destroyed,好,我们这个准备工作呢,基本上做的差不多了,后面呢主要就是加监听了啊,下节课呢,我们再做啊,先休息。
我来说两句