Android学习笔记--广播机制

简介:


MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0


1 . Adnroid的广播机制


Android学习笔记--广播机制 - 無牽℡↘嘸褂 - 菁华隐没℡↘芳流歇绝


2 . BroadcastReceiver的作用

事件触发之后的一种解决方法

3 . BroadcasrReceiver的编写方法
AndroidManifest.xml 中注册广播
<receiver android:name=".TextReceiver">
<intent-filter>
<action android:name="android.intent.action.EDIT">
</intent-filter>
<receiver>

例 : // BroadcasrReceiver
Public class TestReceiver extends BroadcastReceiver {
Public TestReceiver () {
System.out.println("TestReceiver");
}

@override
Publc void onReceive(Context context , Intent intent) {
System.out.println("OnReceiver");
// 对象会被销毁 TestReceiver
}
}

Activity中的写法 例:   1 . 声明控件对象(略)
2 . 获得控件对象(略)
3 . 绑定事件(略)
4 . 创建监听器对象 

Public void onClick(View v) {
TestReceiver tr = new TestReceiver();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_EDIT);  // AndroidManifest中的过滤内容对比
TestActivity.this.sendBroadcast(intent); 
}

4 . BroadcastReceiver的生命周期

5.  注册BroadcastReceiver的方法
    
BroadcastReceiver用于监听被广播的事件(Intent)为了达到这个目的,BroadcastReceiver必须进行注册,以下是注册的两种方法

在应用程序的代码当中进行注册
注册BroadcastReceiver
registerReceiver(receiver , filter)
取消注册
UnregisterReceiver(receiver);

Activity中代码 例 :   1 . 声明控件对象(略)
2 . 获得控件对象(略)
3 . 绑定事件(略)
4 . 创建监听器对象 

// 绑定广播事件

Public void onClick(View v) {
// 生成receiver对象
smsReceiver = new SMSReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(" android.provider.Telephony.SMS_RECEIVED" );
// 注册广播事件
TestActivity.this.registerReceiver(smsReceiver , filter);
}

// 接触广播事件

Public void onClick(View v) {
TextActicity.this.unregisterReceiver(smsReceiver);
}

Public class SMSReceiver extends BroadcastReceiver {
@override
Public void onReceive(Context context ,  Intent intent) {
System.out,println("receive message");

// 对接受的短消息进行处理
// 接受Intent对象中的数据
Bundle bundle = Intent.getExtras();
// Bundle对象当中有一个属性名为pdus , 这个属性的值是一个Object数组
Object[] myObjects = (Object[]) bundle.get("pdus");

// 创建一个SmsMessage类型的数组
SmsMessage[] message = new SmsMessage(myObjects.length);
System.out,println(message.length);
For (int i = 0 ; i < myObjects.length ; i ++) {
// 使用Object数组当中的对象创建SmsMessage对象
Message = SmsMessage.createFromPdu((byte[]) myObjects);
System.out,println(message.getDisplayMessageBody());
}
}
}

AndroidManifest.xml中进行注册 (不论应用程序的开启或关闭)

<receiver android:name=".TestReceiver">
<intent-filter>
<action android:name="android,intent.action.PICK">
</intent-filter>
<receiver>

6. Android内置的Broadcast Actions


Android学习笔记--广播机制 - 無牽℡↘嘸褂 - 菁华隐没℡↘芳流歇绝






     本文转自My_King1 51CTO博客,原文链接:http://blog.51cto.com/apprentice/1360565,如需转载请自行联系原作者


相关文章
|
6月前
|
缓存 安全 数据库
Android学习笔记4
Android学习笔记4
25 0
|
6月前
|
XML 数据库 数据安全/隐私保护
Android学习笔记3
Android学习笔记3
115 0
|
6月前
|
XML Java Android开发
Android学习笔记2
Android学习笔记2
52 0
|
6月前
|
XML Java Linux
Android学习笔记1
Android学习笔记1
31 0
|
8月前
|
存储 Java API
Android逆向 | 基础篇 - Java 学习笔记03
Android逆向 | 基础篇 - Java 学习笔记03
|
8月前
|
Java 编译器 Android开发
Android逆向 | 基础篇 - Java 学习笔记02
Android逆向 | 基础篇 - Java 学习笔记02
|
8月前
|
Java 编译器 Android开发
Android逆向 | 基础篇 - Java 学习笔记01
Android逆向 | 基础篇 - Java 学习笔记01
|
Java 开发工具 Android开发
Android中的Binder学习笔记
Android中的Binder学习笔记
Android中的Binder学习笔记
|
JSON 前端开发 Java
Java WEB 与 android | 学习笔记
快速学习 Java WEB 与 android。
Java WEB 与 android | 学习笔记
|
Web App开发 小程序 安全
mPaaS 小程序介绍+接入 mPaaS 小程序并实现启动 Android 版(二)| 学习笔记
快速学习 mPaaS 小程序介绍+接入 mPaaS 小程序并实现启动 Android 版。
659 0
mPaaS 小程序介绍+接入 mPaaS 小程序并实现启动 Android 版(二)| 学习笔记