之前第七章广播与服务理论篇写到: 特殊的广播接收者(一般发广播次数频率很高) 安卓中有一些广播接收者,必须使用代码注册,清单文件注册是无效的 屏幕锁屏和解锁 电量改变 今天在这里就回顾一下,且用代码方式注册广播接收者. 需求:使用服务注册广播接收者,广播接收者接收系统锁屏解屏广播,并执行相应的操作(这里还是打印一行log). 方法:一.activity前台两个按钮,对应两个功能:1.启动服务:2.停止服务. 二.定义服务类,在onCreate方法里面注册广播接受者,指定意图过滤器action为系…
自定义 ScreenListener package com.example.teagardenhd.Listener; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.PowerManager; /** * Created b…
服务两种启动方式 startService:服务被启动之后,跟启动它的组件没有一毛钱关系 bindService:跟启动它的组件同生共死 绑定服务和解绑服务的生命周期方法:onCreate->onBind->onUnbind->onDestroy 找领导办证 把服务看成一个领导,服务中有一个banZheng方法,如何才能访问? 绑定服务时,会触发服务的onBind方法,此方法会返回一个Ibinder的对象给MainActivity,通过这个对象访问服务中的方法 绑定服务 Intent i…
我们使用的Android手机在收到短信的时候会发出一条系统广播.该条广播中存放着接收到的短信的详细信息.本文将详细介绍如何通过动态注册广播来监听短信. 注册广播有两种方式,一种是动态注册,另一种是静态注册.动态注册,顾名思义就是在程序运行时注册的,需要用到广播的时候就注册,用完即销毁.静态注是在AndroidManifest.xml中注册的,在<application>中使用<receiver>标签注册. 那么如何创建一个监听短信的广播接收器呢,其实只需要新建一个类,让这个类继承B…
利用广播调用服务里面的方法,间接的方式调用服务内部的方法,与现实中差不多,请媒体曝光 主界面里面 在界面创建的时候开启一下服务普通的startService()方法 发送一条广播出去 获取Intent对象,通过new出来 调用Intent对象的setAction()方法,参数:一般就是包名 调用sendBroadcast(intebt)方法,发送广播,参数:Intent对象 服务里面 新建一个MyService类继承系统的Service类 添加一个自定义的服务的方法callServiceMeth…
总体概述: 广播接收者 现实中:电台要发布消息,通过广播把消息广播出去,使用收音机,就可以收听广播,得知这条消息 Android中:系统在运行过程中,会产生很多事件,那么某些事件产生时,比如:电量改变.收发短信.拨打电话.屏幕解锁.开机,系统会发送广播,只要应用程序接收到这条广播,就知道系统发生了相应的事件,从而执行相应的代码.使用广播接收者,就可以收听广播 创建广播接收者 定义java类继承BroadcastReceiver 在清单文件中定义receiver节点,定义name属性,指定广播接收…
Activity: package com.itheima.register; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; public class MainActivity extends Activity { private Intent intent; @Ove…
对于想要拦截一些莫名的陌生号码,就需要电话拦截功能与删除其电话记录功能.拦截的主要业务逻辑,分别是在一个服务里面进行:1.注册电话监听:2.取消注册电话监听(当然注册于取消是在服务里面建立一个广播接收者).删除电话日志的功能,是靠内容观察者和内容提供者. 下面给出实现电话监听,取消注册监听,内容观察者监听电话数据库状态的主要代码.对于以后开发此类产品,不需要去查看系统源码,复制粘贴这段代码就行了.下面给出代码: 一.注册电话监听与内容观察者监控电话数据库状态: 因为是在服务里面,因此,注册写在o…
在前边几篇关于Android系统两个重要组件的介绍中,界面Activity负责应用程序与用户的交互,服务Service负责应用程序内部线程间的交互或两个应用程序进程之间的数据交互.看上去这两大组件就能满足日常应用程序的开发需求了,可是应用程序之间的交互,如果都使用服务Service中的AIDL规范,那每个应用程序本身岂不是要声明其他应用程序中的一些接口?这对两个属于不同开发者的应用程序来说很不友好.所以Android系统还提供了称为广播接收者BoradcastReceiver的组件,采用广播机制…
Android监听手机网络变化 手机网络状态发生变化会发送广播,利用广播接收者,监听手机网络变化 效果图 注册广播接收者 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="--" > -- <application…