MainActivity.java

package com.example.broadcasttest;

import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button; public class MainActivity extends ActionBarActivity {
Button btn01;
Button btn02;
Button btn03;
Button btn04;
private final static String ACTION_SMS = "android.provider.Telephony.SMS_RECEIVED";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn01 = (Button)findViewById(R.id.btn01);
btn02 = (Button)findViewById(R.id.btn02);
btn03 = (Button)findViewById(R.id.btn03);
btn04 = (Button)findViewById(R.id.btn04);
btn01.setOnClickListener(new myListenr());
btn02.setOnClickListener(new myListener2());
btn03.setOnClickListener(new myListenr());
btn04.setOnClickListener(new myListenr());
} class myListenr implements OnClickListener{ @Override
public void onClick(View view) {
// TODO Auto-generated method stub
if(R.id.btn01==view.getId()){
//开启广播
Intent intent = new Intent();
// intent.setAction(Intent.ACTION_EDIT);//
intent.setAction(Intent.ACTION_SEARCH);
MainActivity.this.sendBroadcast(intent); }else if(R.id.btn03==view.getId()){
//开启广播
Intent intent = new Intent();
intent.setAction(ACTION_SMS);
System.out.println("准备模拟发送短信");
MainActivity.this.sendBroadcast(intent); }else if(R.id.btn04==view.getId()){
//开启广播
TestBCReceiver02 receiver = new TestBCReceiver02();
System.out.println("==取消监听==");
MainActivity.this.unregisterReceiver(receiver);//这里会导致app崩溃,暂时不知道原因
}
} }
class myListener2 implements OnClickListener{ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//注册广播事件
//1.获取recevier
TestBCReceiver02 receiver = new TestBCReceiver02();
//2.生成一个IntentFilter对象
IntentFilter filter = new IntentFilter();
//3.为intentFilter添加一个action
filter.addAction(ACTION_SMS);
MainActivity.this.registerReceiver(receiver, filter);
} }
}

  Recvier的实现类:

package com.example.broadcasttest;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent; public class TestBCReceiver02 extends BroadcastReceiver{
public TestBCReceiver02(){
System.out.println("BC02的构造器开始了,。。。。。");
}
@Override
public void onReceive(Context arg0, Intent arg1) {
System.out.println("收到短信了");
} }

  Receiver实现类2

package com.example.broadcasttest;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent; public class TestBroadcastReceiver extends BroadcastReceiver{ public TestBroadcastReceiver(){
System.out.println("receiver开始了,,,,");
} @Override
public void onReceive(Context arg0, Intent arg1) {
System.out.println("onReceive.....");
} }

  

Android广播——短信拦截的更多相关文章

  1. Android的BroadcastReceiver 广播 短信拦截

    如何去理解BroadcastReceiver(广播)?其实可以这样想,首先我们要有一个发送广播的"媒体",在这个例子中,我们暂且用activity组件作为这个媒体,当然以后会用到s ...

  2. android之短信拦截器

    下面通过短信拦截器来介绍短信中的广播 布局文件 在布局文件中可以设置需要拦截的号码 <?xml version="1.0" encoding="utf-8" ...

  3. Android -- 怎么发出和接收广播, Broadcast, 电话拨号拦截,短信拦截

    1. 发送广播 使用以下三个API可以发送广播 public void click(View view){ Intent intent = new Intent(); intent.setAction ...

  4. [android] 手机卫士黑名单功能(短信拦截)

    前面我们把需要拦截的手机号都存储和展示出来了,接下来是使用广播接收者拦截短信了,这个广播接收者需要和一个服务绑定,服务开启的时候,接收者存在,服务停掉时,接收者关闭 在service包下定义一个类Ca ...

  5. Android开发——短信电话拦截/接听电话

    1.短信拦截 首先需要声明的是,Android4.4版本以上,如果想做到短信拦截,必须成为default sms,把所有短信相关的功能都包揽了,然后再做短信拦截.但这种做法,适配性和兼容性的工作是非常 ...

  6. Android应用源码安卓短信拦截木马项目源码

    温馨提示:本资源由源码天堂整理提供下载转载时请留下链接说明:http://code.662p.com/view/9174.html安卓短信拦截木马源码主要功能就是开机后台启动,拦截本机收到的短信并且转 ...

  7. android手机短信获取

    关于Android中对短信的一些相关操.我看到一个文章下面我就从标题中的三个方面来对Android系统中的短信操作进行一个简单地学习. 短信发送: 由于Android中对短信发送方法的优良封装,之后对 ...

  8. 【Android】Android解析短信操作

    目录结构: contents structure [-] 获取短信 发送短信 1.获取短信 在AndroidManifest.xml中,添加权限: <uses-permission androi ...

  9. Android接收短信

    Android收到短信时会广播android.provider.Telephony.SMS_RECEIVED消息,因此只要定义一个Receiver,收听该消息,就能接收短信. <receiver ...

随机推荐

  1. [LeetCode]题解(python):097-Interleaving String

    题目来源: https://leetcode.com/problems/interleaving-string/ 题意分析: 给定字符串s1,s2,s3,判断s3是否由s1和s2穿插组成.如“abc” ...

  2. 13-C语言字符串函数库

    目录: 一.C语言字符串函数库 二.用命令行输入参数 回到顶部 一.C语言字符串函数库 1 #include <string.h> 2 字符串复制 strcpy(参数1,参数2); 参数1 ...

  3. Protel99se教程六:创建原理图元件库

    在我们平时使用protel99se进行电路以及PCB设计的时候,系统自带的元件库和PCB封装库,只有一小部分,大部份元件的元件库以及封装库,我们都需要自己制作,使用protel99se,我们可以很容易 ...

  4. Sicily-1134

    一.      题意 按照孩子们需要的积木块数排序(从小到大),先处理需要积木块数少的孩子. 二.      代码 // // main.cpp // sicily-1134 // // Create ...

  5. java学习之jdbc的封装

    jdbc是连接数据库必不可少的工具,但每次连接都要重新写一遍太麻烦了,也不利于代码的可读性,这里做一个工具类进行封装. package com.gh; import java.sql.Connecti ...

  6. 分析php获取客户端ip

    用php能获取客户端ip,这个大家都知道,代码如下: /** * 获取客户端ip * @param number $type * @return string */ function getClien ...

  7. c语言编写经验逐步积累4

    寥寥数笔,记录我的C语言盲点笔记,仅仅为以前经历过,亦有误,可交流. 1.逻辑表达式的使用 取值 = 表达式 ? 表达式1:表达式2: 比方x = y > z ? y:z 2."+,- ...

  8. python基础补充

    关于模块导入方式: import  random print random.choice(range(10)) 和 from  random import choice print choice(ra ...

  9. Jquery构建Form表单Post提交数据的简单方法

    $.extend({ PostSubmitForm: function (url, args) { var body = $(document.body), form = $("<fo ...

  10. Arduino M0 的一个坑(2015-12-25)

    前几天收到 Arduino M0,试各项功能都正常,可就是串口监视器/串口助手不能显示程序里打印的输出,好生奇怪,各种换波特率各种PC串口程序换着试,资料不多,官方资料也只说到 Serial1 用于 ...