BoradCast广播
1、接受广播 BroadCastReceiver(接收系统的广播)
1-1:电话的广播
1-1-1:拨打电话的广播
1.创建一个类,继承BoradcastReceiver
2.重写它的onReceive方法
3.在AndroidManifest.xml中注册广播
<receiver android:name="com.style.boradcast.PhoneBoradCastReceiver">
<intent-filter >
<!-- 设置接受的频道 :电话拨出的频道-->
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>
4.添加权限:
<!-- 监听拨出电话的状态的权限 -->
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />

1-1-2:接收电话的广播
频道:<action android:name="android.intent.action.PHONE_STATE"/>
权限:<uses-permission android:name="android.permission.READ_PHONE_STATE" />
电话管理者:
TelephonyManager m = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
TelephonyManager.CALL_STATE_RINGING://响铃
TelephonyManager.CALL_STATE_IDLE://挂断
TelephonyManager.CALL_STATE_OFFHOOK://接听中
获取来电号码:String number = intent.getStringExtra("incoming_number");

1-2:短信的广播
频道:<action android:name="android.provider.Telephony.SMS_RECEIVED" />
权限:<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
获取短信:Object[] objs = (Object[]) intent.getExtras().get("pdus");
短信管理器:SmsManager manager = SmsManager.getDefault();//获取我们的短息管理器
短信发送:manager.sendTextMessage("15116346673", null,sMessage.getMessageBody(),null,null);

2、发送广播
有序:sendOrderedBroadcast(intent,null);
无序:sendBroadcast(intent);

3、广播(有序+无序广播)
http://blog.csdn.net/ljb_blog/article/details/8650705
有序:
按照顺序持续的向下广播:先后顺序(如果有优先级,高者先得,如果没有,按注册的顺序来)
有序广播可以中断和修改广播的数据
无序:
不保证传播的接收到广播的先后顺序
不能中断和修改广播的内容
一般自带的电话和短信监听就是这样(不推荐使用)

4、静态注册广播和动态注册广播
静态注册:
如上。
动态注册:
MyReceiver myReceiver = new MyReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("android.firefly.test");
filter.setPriority(5000);
registerReceiver(myReceiver,filter);
取消:
unregisterReceiver(myReceiver);

5.自己的广播
假设在按钮下进行:
public void Sure(View v){
Intent i = new Intent();
i.setAction("com.firefly.BroadCast");
i.putExtra("abc", "这里是传值过去的内容");
sendOrderedBroadcast(i,null);
}
频道:
<action android:name="com.firefly.BroadCast" />
新建一个类,继承BroadCast
if (intent.getAction().equals("com.firefly.BroadCast")) {
String str = intent.getStringExtra("abc");
Toast.makeText(context, "My:"+str, 0).show();
//中断(如果有序广播,会成功,无序则会报错)
abortBroadcast();
//如果要改值,只能这样
String data = "有毒!";
setResultData(data);
}

androidBroadCast总结的更多相关文章

  1. Android-broadcast静态动态广播

    广播的静态和动态类型 静态广播: 1.继承之broadcastreceiver public class MyStaticBroadcastReceiver extends BroadcastRece ...

  2. Android-Broadcast(广播)

      1.四大组件之BroadcastReceiver (1)Broadcast(广播)--一种广泛运用在应用程序之间传输信息的机制 (2)BroadcastReceiver(广播接受者)--是对发送过 ...

  3. Android-Java-接口Interface

    接口Interface 与 抽象类不同: 抽象类关注的是事物本质,例如:水果Fruit 属于抽象的,说去买水果 是模糊的概念 是抽象的概念 不具体,到底买什么水果不知道,而水果包含了 香蕉,橘子 很多 ...

  4. Android——Broadcast Receive 相关知识总结贴

    Android系统中的广播(Broadcast)机制简要介绍和学习计划 http://www.apkbus.com/android-99858-1-1.html android----BroadCas ...

  5. Android-快速查找索引篇

    01.Android-UI汇总 01.Android-TextView跑马灯效果 02.Android-Activity 01.Test 03.Android-数据存储 01.Test 04.Andr ...

  6. 【关于使用SpringJUnit4ClassRunner单元测试报错问题】

    今天单元测试如下的代码的时候发现项目老是报错: package com.yhb.jsxn.service; import java.text.SimpleDateFormat; import java ...

  7. PHP友盟推送消息踩坑及处理

    公司的客户端的推送选用友盟推送,但是友盟的官方文档描述很少,对新手很不友好,所以特写此采坑纪录,废话不多说上代码. 公司业务只涉及单播和广播.所以只提供了单播和广播,业务拓展的话会补充其余部分. 消息 ...

  8. 友盟umeng消息推送直接复制就能用(纯干货)

    一. 单播推送(unicast) 1.1 图 1.2 代码 1 /** 2 * 根据设备的deviceToken, 去给指定的设备推送消息 3 * 4 * @param deviceToken 单个d ...

随机推荐

  1. iBatis in 语句参数传入方法

    刚刚开始在工作中用到iBatis 在用到in去查询或者删除 我本来是传递一个String的参数,但是总是报以下的错误

  2. width,clientWidth,offsetWidth

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  3. asp.net 中 UEditor 图片和附件上传失败的处理方法

    1.0 找到 net 文件夹下面的 web.config 配置文件,注释掉如下的两句: 2.0 Uploader文件默认属性为编译,将其属性改为内容以后重新运行程序,图片上传成功. 3.0 删除 im ...

  4. linux笔记七---------管道

    smarty的变量调节器就是linux的管道 管道:前者的输出是后者的输入 {$name|upper}   通过调节器使得名字变为大写输出 {$name|lower} linux的管道: ls –al ...

  5. NLP 自然语言处理

    参考: 自然语言处理怎么最快入门:http://www.zhihu.com/question/ 自然语言处理简介:http://wenku.baidu.com/link?url=W6Mw1f-XN8s ...

  6. Unity学习疑问记录之Apply Root Motion

    Should we control the character's position from the animation itself or from script. 如果我们勾选了Animator ...

  7. poj2305-Basic remains(进制转换 + 大整数取模)

    进制转换 + 大整数取模一,题意: 在b进制下,求p%m,再装换成b进制输出. 其中p为b进制大数1000位以内,m为b进制数9位以内二,思路: 1,以字符串的形式输入p,m; 2,转换:字符串-&g ...

  8. 【iCore3 双核心板_ uC/OS-III】例程十:消息队列

    实验指导书及代码包下载: http://pan.baidu.com/s/1sleklm1 iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  9. 10.5.2 Boot Block 启动块 - 操作系统教程

    简单一篇文章明白地讲解了计算机操作系统的启动过程 OPERATING SYSTEM CONCEPTS ABRAHAM SILBERSCHATZ PETER BAER GALVIN GREG GAGNE ...

  10. Linux下暴力破解工具Hydra详解

    一.简介 Number one of the biggest security holes are passwords, as every password security study shows. ...