博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ANDROID_MARS学习笔记_S01原始版_013_广播机制二
阅读量:4485 次
发布时间:2019-06-08

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

一、代码

1.xml
(1)main.xml

1 
2
7
13
19 20

 

(2)AndroidManifest.xml.xml

 

1 
2
6 7
10 11
16
19
20
21 22
23
24 25 26
27

 

 

 

2.java

(1)TestBC2Activity.java

1 package com.broadcast2; 2  3 import android.app.Activity; 4 import android.content.IntentFilter; 5 import android.os.Bundle; 6 import android.view.View; 7 import android.view.View.OnClickListener; 8 import android.widget.Button; 9 10 public class TestBC2Activity extends Activity {11     /** Called when the activity is first created. */12     private Button registerButton = null;13     private Button unregisterButton = null;14     private SMSReceiver smsReceiver = null;15     16     private static final String SMS_ACTION = "android.provider.Telephony.SMS_RECEIVED";17     @Override18     public void onCreate(Bundle savedInstanceState) {19         super.onCreate(savedInstanceState);20         setContentView(R.layout.main);21         registerButton = (Button)findViewById(R.id.register);22         registerButton.setOnClickListener(new RegisterReceiverListener());23         unregisterButton = (Button)findViewById(R.id.unregister);24         unregisterButton.setOnClickListener(new UnRegisterReceiverListener());25     }26     27     class RegisterReceiverListener implements OnClickListener{28 29         @Override30         public void onClick(View v) {31             //生成一个BroiadcastReceiver对象32             smsReceiver = new SMSReceiver();33             //生成一个IntentFilter对象34             IntentFilter filter = new IntentFilter();35             //为IntentFilter添加一个Action,决定了reciver能接收什么类型的请求36             filter.addAction(SMS_ACTION);37             //将BroadcastReceiver对象注册到系统当中38             TestBC2Activity.this.registerReceiver(smsReceiver, filter);39         }40         41     }42     43     class UnRegisterReceiverListener implements OnClickListener{44 45         @Override46         public void onClick(View v) {47             //解除BroadcastReceiver对象的注册48             TestBC2Activity.this.unregisterReceiver(smsReceiver);49         }50         51     }52 }

 

(2)SMSReceiver.java

 

1 package com.broadcast2; 2  3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.os.Bundle; 7 import android.telephony.SmsMessage; 8  9 public class SMSReceiver extends BroadcastReceiver{10 11     @Override12     public void onReceive(Context context, Intent intent) {13         // TODO Auto-generated method stub14         System.out.println("receive message");15         16         //此例子是获取短信内容17         //接受Intent对象当中的数据18         Bundle bundle = intent.getExtras();19         //在Bundle对象当中有一个属性名为pdus,这个属性的值是一个Object数组20         Object[] myOBJpdus = (Object[]) bundle.get("pdus"); 21         //创建一个SmsMessage类型的数组22         SmsMessage[] messages = new SmsMessage[myOBJpdus.length];  23         System.out.println(messages.length);24         for (int i = 0; i

 

转载于:https://www.cnblogs.com/shamgod/p/5191501.html

你可能感兴趣的文章
Android JNI学习(五)——Demo演示
查看>>
SSRS 呈现Barcode Free
查看>>
数据包和html,数据包和数据报有何区别?
查看>>
jq 异步调用一个html,聊聊如何将jQuery的$.ajax()用于异步HTTP请求
查看>>
android 7.0宽度432,全球最小的4G手机,比手掌还小,安卓7.0
查看>>
android fragmentstatepageradapter框架,Android FragmentStatePagerAdapter
查看>>
html怎么加入编辑器,HTML 编辑器
查看>>
python发挥程度_你为什么用 Python?
查看>>
file 选择的文件胖多有多大_「HTML5 进阶」FileAPI 文件操作实战,内附详细案例,建议收藏...
查看>>
玄惭 mysql_阿里云数据库专家玄惭的“武功”全记录之最佳实践、双十一特别篇...
查看>>
c mysql 时间段查询_mySql 时间段查询
查看>>
mysql sql乱码怎么解决_MYSQL数据库导入SQL文件出现乱码如何解决
查看>>
mysql的存储过程与事务_mysql的存储过程与事务入门
查看>>
java程序员闯关题网站_Java程序员每周必逛的十大学习网站
查看>>
python面试装饰器_Python测开面试题之装饰器
查看>>
flashcache mysql_flashcache的实现与分析
查看>>
linux shell 里面执行python 程序_Linux下编写脚本Shell和Python的区别?
查看>>
python中if elif语句优化_python – 最有效的方式做一个if-elif-elif-else语句当else做的最多?...
查看>>
win10 配置 maven_home 一会儿成功一会儿失败_在macbook上运行移动硬盘里的win10和macos...
查看>>
python怎么画多重饼状图_Python通过matplotlib画双层饼图及环形图简单示例
查看>>