广播事件的处理一(BroadcaseReceiverDemo)

简介:

 

使用BroadcastReceiver步骤:

1.继承BroadcastReceiver,并复写里面的onReceiver()方法;

2.在全局文件听注册广播,跟ActivityService一样注册广播的方式有以下两种:

2.1:一种是在AndroidMinifest.xml文件中注册;

2.2:另一种是直接在代码中注册

 

3. 构建Intent对象

4.Intent对象调用sendBroadcase()方法发送广播。

 

 

程序运行的过程为:

1.先到全局文件中注册一个Receiver

2.当用户点击发送广播时,系统会根据Intent-filter来过滤用户发送的广播;

3.如果是注册的广播,则调用继承BroadcaseReceiver的类中复写的onReceiver()方法。

注意:BroadcaseReceiver对象仅在调用onReceiver()方法时有效,当该方法执行完毕后,系统认为销毁该对象。《为证明这句话,在程序中重写接收器的构造方法》

代码如下:

public Receiver() {

Log.i(TAG, "调用:Receiver()方法!");

}

 

 

在官方文档中没有搜索到的一个广播如下:

 

<receiver android:name="com.mzh.www.receiver.Receiver">

<intent-filter >

<action android:name="android.provider.Telephony.SMS_RECEIVED"/>

</intent-filter>

</receiver>

 

 

android.provider.Telephony.SMS_RECEIVED;

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

 

在自己的程序中为什么发送的短信中包含的中文是乱码啊?解决方法是什么?

 

 

 

广播事件的处理二

 

2.1:一种是在AndroidMinifest.xml文件中注册;

2.2:另一种是直接在代码中注册,如下:

 2.2.1

IntentFilter filter = new IntentFilter(ACTION);

registerReceiver(receiver, filter)

2.2.2:

unregisterReceiver(receiver);     本文转自华华世界 51CTO博客,原文链接:http://blog.51cto.com/mzh3344258/733372,如需转载请自行联系原作者

相关文章
|
6月前
|
设计模式 小程序 API
小程序之页面通信&派发通知
小程序之页面通信&派发通知
|
4月前
|
算法 网络协议 物联网
|
6月前
|
JavaScript 前端开发
在页面中监听多个广播通道
使用 JavaScript 的 `BroadcastChannel` 可以监听多个广播通道。示例展示了如何创建并处理两个通道&quot;channel1&quot;和&quot;channel2&quot;的事件。每个通道都有独立的`onmessage`事件处理程序,接收到消息时会在控制台打印。可以按需创建多个通道,并在不再需要时调用`channel.close()`关闭以释放资源。
|
6月前
|
Java Android开发
Broadcast的注册、发送和接收过程
Broadcast的注册、发送和接收过程
51 0
|
JSON 开发工具 Android开发
通知消息和透传消息
通知消息和透传消息
844 0
通知消息和透传消息
|
Java 开发工具 Android开发
全局事件-广播(Broadcast)
全局事件-广播(Broadcast)
85 0
|
开发工具 开发者
消息服务-事件通知使用 | 学习笔记
快速学习消息服务-事件通知使用
消息服务-事件通知使用 | 学习笔记
|
存储 消息中间件 Android开发
Android源码分析--广播的注册、发送和接收
Android源码分析--广播的注册、发送和接收
294 0
Android源码分析--广播的注册、发送和接收
【EventBus】事件通信框架 ( 发送事件 | 根据事件类型获取订阅者 | 调用订阅方法 )
【EventBus】事件通信框架 ( 发送事件 | 根据事件类型获取订阅者 | 调用订阅方法 )
136 0
下一篇
无影云桌面