27. BroadcastReceiver 消息广播详解----简单监控拨打电话

本文详细介绍了如何使用BroadcastReceiver监听Android系统中的拨打电话广播。通过在AndroidManifest.xml中注册Receiver,设置IntentFilter捕获"android.intent.action.PHONE_STATE"行动,并请求READ_PHONE_STATE权限,实现电话状态的监控。当电话状态改变时,广播接收者会启动程序的MainActivity。
摘要由CSDN通过智能技术生成

当拨打电话时,拨打电话程序会向系统发生消息,来告诉系统自己在干嘛,这里就是所谓的广播,这样做是为了方便跟其他应用程序或者底层沟通。那么如何才能让其他应用程序拿到这个消息(广播),这里就需要借助广播接收者BroadcastReceiver这个类。

BroadcastReceiver的onReceiver方法用来接收广播,当一个程序安装到系统的时候,会注册到系统中,这样就能得到系统中的各种广播或者其他有信息,然后与其他程序打交道。过滤到自己想要的广播得指定IntentFilter特定的action,还得是否有这个权限读到这个广播消息,并且必须对该广播接收者进行注册。以下是实现方式:

第一种实现方式,写在AndroidManifest.xml里

<receiver android:name=".MyReceiver"> <intent-filter> <action android:name="android.intent.action.PHONE_STATE"/> </intent-filter> </receiver>

第二种方式是在java代码里

MyReceiver myReceiver = new MyReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction("android.intent.action.PHONE_STATE"); registerReceiver(myReceiver, filter);

另外需要加上权限控制:

  <uses-permission android:name="android.permission.READ_PHONE_STATE"> </us

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值