广播事件的处理一(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,如需转载请自行联系原作者

上一篇:linux命令:常见的系统故障排除


下一篇:使用proz来加速你的Freebsd ports安装