博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 广播的使用与开发
阅读量:4291 次
发布时间:2019-05-27

本文共 1664 字,大约阅读时间需要 5 分钟。

1.注册和使用

第一种方式 :静态实现----------需要注意的是,静态方法,即使在应用关闭的情况下,系统也会去调用。

public class MyBroadcastReceiver extends BroadcastReceiver { 

    // action 名称

    String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED" ; 

    public void onReceive(Context context, Intent intent) { 

       if (intent.getAction().equals( SMS_RECEIVED )) {

           // 相关处理 : 地域变换、电量不足、来电来信;

       }

    }

}

系统注册:在 AndroidManifest.xml 中注册

< receiver android:name = ".MyBroadcastReceiver" >

           < intent-filter android:priority = "1000" >             

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

           </ intent-filter >

 </ receiver > 

当然了需要权限 : 

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

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

 

 

第二种方式:动态代码实现 

// 广播接收者 - 广播的接收

private BroadcastReceiver myBroadcastReceiver = new BroadcastReceiver() { 

       @Override

       public void onReceive(Context context, Intent intent) {

           // 相关处理,如收短信,监听电量变化信息

 }

 };

*** registerReceiver(BroadcastReceiver receiver, IntentFilter filter)
***registerReceiver(BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler)

2.使用环境

1.同一app内部的同一组件内的消息通信(单个或多个线程之间);
2.同一app内部的不同组件之间的消息通信(单个进程);
3.同一app具有多个进程的不同组件之间的消息通信;
4.不同app之间的组件之间消息通信;
5.Android系统在特定情况下与App之间的消息通信。

3.广播的分类

1.Normal Broadcast:普通广播
sendBroadcast(intent)/
sendBroadcast(intent, receiverPermission)/
sendBroadcastAsUser(intent, userHandler)/
sendBroadcastAsUser(intent, userHandler,receiverPermission)。
2.System Broadcast: 系统广播
3.Ordered broadcast:有序广播
sendOrderedBroadcast(intent, receiverPermission, ...)
4.Sticky Broadcast:粘性广播(在 android 5.0/api 21中deprecated,不再推荐使用,相应的还有粘性有序广播,同样已经deprecated)
5.Local Broadcast:App应用内广播

转载地址:http://uuegi.baihongyu.com/

你可能感兴趣的文章
Tomcat启动遇到的问题
查看>>
Gradle-gradlew
查看>>
grpc-整合gradle与代码生成
查看>>
grpc-gradle与grpc流程完美整合(3)
查看>>
设计模式-装饰模式(Decorator)
查看>>
git-子模块submodule
查看>>
设计模式-策略模式(Strategy)
查看>>
设计模式-观察者模式(Observer)
查看>>
java浅拷贝(shallow clone)与深拷贝(deep clone)
查看>>
Elasticsearch-terms搜索及结果优化
查看>>
Elasticsearch-对一个field进行多值全文本搜索
查看>>
Elasticsearch-best_fileds和most_fields策略分析以及cross-fields弊端的解决
查看>>
Elasticsearch-近似搜索
查看>>
netty源码分析之-Future、ChannelFuture与ChannelPromise详解(3)
查看>>
redis主从集群的搭建
查看>>
redis cluster集群搭建与深入分析(1)
查看>>
netty源码分析之-引导详解(4)
查看>>
redis cluster节点的添加与删除(2)
查看>>
nginx+redis+tomcat三级缓存架构讲解
查看>>
Reactor模式详解
查看>>