android中的广播接收实现总结
2014-04-06 14:53
603 查看
1 首先根据广播应用内接收和应用外接收,分两个类进行管理
[1] LocalBroadcastManager,应用内广播管理类
[2] BroadcastManager 广播管理类(部分应用内,应用外)
2 广播接收类实现的两种方式
[1] 代码生成类,并注册
public class MessageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
}
}
//代码注册广播接收类
public void registerMessageReceiver() {
mMessageReceiver = new MessageReceiver();
IntentFilter filter = new IntentFilter();
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
filter.addAction(MESSAGE_RECEIVED_ACTION);
registerReceiver(mMessageReceiver, filter);
}
[2] 在AndroidManifest.xml 文件中配置广播接收类
<receiver
android:name="com.example.jpushdemo.MyReceiver"
android:enabled="true">
<intent-filter>
<action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required 用
户注册SDK的intent-->
<action android:name="cn.jpush.android.intent.UNREGISTRATION" />
<action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required
用户接收SDK消息的intent-->
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--
Required 用户接收SDK通知栏信息的intent-->
<action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!--
Required 用户打开自定义通知栏的intent-->
<action android:name="cn.jpush.android.intent.ACTION_RICHPUSH_CALLBACK" />
<!--Optional 用户接受Rich Push Javascript 回调函数的intent-->
<category android:name="com.example.jpushtest" />
</intent-filter>
</receiver>
3 消息发送的两种方式
Normal broadcast,通过Context.sendBroadcast 发送,接口器不按照顺序,异步处理
Ordered broadcasts ,通过Context.sendOrderedBroadcast发送,由于每个接收器依次执行时,它可以
传播的结果到下一个接收器,或者它可以完全中止该广播,以便它不会被传递给其他接收者。排列顺序为接
收器的优先级
[1] LocalBroadcastManager,应用内广播管理类
[2] BroadcastManager 广播管理类(部分应用内,应用外)
2 广播接收类实现的两种方式
[1] 代码生成类,并注册
public class MessageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
}
}
//代码注册广播接收类
public void registerMessageReceiver() {
mMessageReceiver = new MessageReceiver();
IntentFilter filter = new IntentFilter();
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
filter.addAction(MESSAGE_RECEIVED_ACTION);
registerReceiver(mMessageReceiver, filter);
}
[2] 在AndroidManifest.xml 文件中配置广播接收类
<receiver
android:name="com.example.jpushdemo.MyReceiver"
android:enabled="true">
<intent-filter>
<action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required 用
户注册SDK的intent-->
<action android:name="cn.jpush.android.intent.UNREGISTRATION" />
<action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required
用户接收SDK消息的intent-->
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--
Required 用户接收SDK通知栏信息的intent-->
<action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!--
Required 用户打开自定义通知栏的intent-->
<action android:name="cn.jpush.android.intent.ACTION_RICHPUSH_CALLBACK" />
<!--Optional 用户接受Rich Push Javascript 回调函数的intent-->
<category android:name="com.example.jpushtest" />
</intent-filter>
</receiver>
3 消息发送的两种方式
Normal broadcast,通过Context.sendBroadcast 发送,接口器不按照顺序,异步处理
Ordered broadcasts ,通过Context.sendOrderedBroadcast发送,由于每个接收器依次执行时,它可以
传播的结果到下一个接收器,或者它可以完全中止该广播,以便它不会被传递给其他接收者。排列顺序为接
收器的优先级
相关文章推荐
- android项目中配置NDK自动编译生成so文件
- 创建android Notification
- android 软件栈知识分享
- Android中得到view在父容器中的位置下标
- Android中得到view在父容器中的位置下标
- 利用样式——android2.3实现android4.0风格的edittext
- @+id/和android:id有什么区别?
- android:关于主工程和library project
- android 源码和兼容包
- AndroidAnnotations 是如何工作的
- Android完全退出多个activity程序
- 设置android模拟器每次启动都按一定比例显示
- 设置android模拟器每次启动都按一定比例显示
- Android OpenGL ES博客整理
- 【P000-004】交易费计算系统,功能类规划
- 【P000-004】交易费计算系统,功能类规划
- Android中常用的颜色
- Android 图标
- Android中关于Volley的使用(八)缓存机制的深入认识
- Android学习之Bitmap