博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用服务动态注册广播
阅读量:5036 次
发布时间:2019-06-12

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

在ContextWrapper类中有一个方法
registerReceiver(
 receiver, 
 filter)
该方法可以实现动态注册广播接受者
 
  1. receiver = new ScreemRecevicer();
  2. IntentFilter filter = new IntentFilter();
  3. filter.addAction("android.intent.action.SCREEN_OFF");
  4. filter.addAction("android.intent.action.SCREEN_ON");
  5. registerReceiver(receiver, filter);
用法如上:一个在
服务中动态注册接受屏幕锁定和打开广播的案例

动态注册电话reciver接受电话广播:使用内部类注册广播
 
  1. //服务中的onCreate()
  2. public void onCreate() {
  3. //TODO 自定义广播内部类
  4. // TODO 自定义广播
  5. private class OutPhone extends BroadcastReceiver {
  6. @Override
  7. public void onReceive(Context context, Intent intent) {
  8. String phoneNum = getResultData();
  9. String adress = getAdress(phoneNum);
  10. getMyToast(adress);
  11. }
  12. }
  13. // TODO 注册广播
  14. OutPhone phone = new OutPhone();
  15. IntentFilter filter = new IntentFilter();
  16. filter.addAction("android.intent.action.NEW_OUTGOING_CALL");
  17. registerReceiver(phone, filter);
  18. super.onCreate();
  19. }

转载于:https://www.cnblogs.com/candledragle/p/4218620.html

你可能感兴趣的文章
String中各方法多数情况下返回新的String对象
查看>>
浅谈tcp粘包问题
查看>>
UVA11524构造系数数组+高斯消元解异或方程组
查看>>
排序系列之——冒泡排序、插入排序、选择排序
查看>>
爬虫基础
查看>>
jquery.lazyload延迟加载图片第一屏问题
查看>>
HDU 1011 Starship Troopers (树形DP)
查看>>
手把手教你写DI_1_DI框架有什么?
查看>>
.net常见的一些面试题
查看>>
OGRE 源码编译方法
查看>>
上周热点回顾(10.20-10.26)
查看>>
C#正则表达式引发的CPU跑高问题以及解决方法
查看>>
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了...
查看>>
APScheduler调度器
查看>>
设计模式——原型模式
查看>>
【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.1.CSS框架和其他功能
查看>>
如何一个pdf文件拆分为若干个pdf文件
查看>>
web.xml中listener、 filter、servlet 加载顺序及其详解
查看>>
前端chrome浏览器调试总结
查看>>
获取手机验证码修改
查看>>