学习Android广播小结(二)

继续上一次的无序广播,下面我分享一下有序广播。
有序广播就是有先后顺序的,不像无序广播一样,谁都可以同时接收。但是有序广播也有缺点,当接收者一多,数据的传递就会遗失或者增加一些其他的东西。
有序广播的发送: sendOrderedBroadcast(intent,null);
有序广播的接收就有一个优先级,上一次的动态广播和静态广播,前者的优先级就比后者高,但是都可以为它们设置优先级。优先级的取值范围(Priority -1000到1000,还有就是int类型的最大值也可以。),两者的设置优先级方法也不同,动态广播用Java代码设置: intentFilter.setPriority(998)。静态广播在清单文件设置:在intent-filter中增加一个参数即可,android:priority=”999”。
这里说明一下,优先级的值越大优先级越高。

最后,我写了个系统广播中短信接收,先判断intent传递的action是否相同,通过bundle得到传递过来的短信详细信息,然后就知道了发送人的电话号码及内容,代码如下:
if (“android.provider.Telephony.SMS_RECEIVED”.equals(intent.getAction())){
Log.i(“tt”,”有短信进来了!”);
//得到短信内容和发送者
Bundle bundle=intent.getExtras();
Object[] objects= (Object[]) bundle.get(“pdus”);
//短信消息
SmsMessage sm[]=new SmsMessage[objects.length];
for (int i = 0; i < objects.length; i++) {
sm[i]=SmsMessage.createFromPdu((byte[]) objects[i]);
}
for (SmsMessage s : sm) {
String body=s.getDisplayMessageBody();//短信内容
//短信地址
address = s.getDisplayOriginatingAddress();
Log.i(“tt”,”发送者:”+ address +” 短信内容:”+body);
}
//短信拦截
if(“”.equals(address)){
Log.i(“tt”,”拦截了。。。。。。。。。。”);
abortBroadcast();
}
}
短信发送:
//得到输入的电话号码
String phone=check1_text.getText().toString();
//发送内容(自定义)
String content=”“;
//得到信息管理者
SmsManager manager = SmsManager.getDefault();
ArrayList list = manager.divideMessage(content);
//因为一条短信有字数限制,因此要将长短信拆分
for(String text:list){
manager.sendTextMessage(phone, null, text, null, null);
}
好了,亲们。短信的发送方法有很多,我就不一一说了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值