黑马程序员安卓教程:案例-短信***一、需求系统接收到短信时会将该事件以有序广播(部分自定义的ROM可能已经修改了这个策略,比如:小米的MIUI系统)的形式发送出去,因此我们只需要自定义一个BroadCastReceiver监听该广播()即可监听到短信的到来。由于该广播是有序的,因此如果将我们自定义的BroadCastReceiver配置了较高的优先级,那么我们就能先于系统短信app接收到该广播,然后终止该广播,从而就实现了短信拦截功能。通过该案例我们可以学到:1、什么是有序广播?2、如何终止有序广播3、如何从广播中获取短信4、广播的优先级概念在该案例中我们要做一个类似短信黑名单的应用,主界面提供一个EditText和一个Button,让用户输入一个“黑名单”,点击保存之后,如果该号码发短信过来,那么我们的应用就将其拦截。二、布局布局界面很简单,如【文件1-6】所示。【文件1-6】<LinearLayoutxmlns:android="http://schemas./apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical">95.<EditTextandroid:id="@+id/et_num"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入要拦截的号码"/><Buttonandroid:onClick="save"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="确定"></Button>.</LinearLayout>三、代码在该工程中总共用到了两个类,一个是主界面对应的MainActivity,另外一个是广播接收者SmsListenerReceiver。【文件1-7】..;;;;;;;;/***让用户输入要拦截的号码*****@authorwzy2015-11-19**/lassMainActivityextendsActivity{privateEditTextet_num;privateSharedPreferencessp;***@OverrideprotectedvoidonCreate(BundlesavedInstanceState){
黑马程序员安卓教程:案例-短信监听器 来自淘豆网www.taodocs.com转载请标明出处.