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. Java中Calender引用类型

    某些时候需要使用深拷贝: Calendar startTime = (Calendar) this._paramModel.getStartTime().clone(); 这样对startTime.a ...

  2. arm中的ldr指令

    label .equ 0x53000000 ldr r0, label : 将0x53000000地址处的值放入r0中 ldr r0, =label : 将0x53000000付值给r0.

  3. 宣布发布 Windows Azure SDK 2.2,正式发布 Windows Azure Backup 和 Hyper-V 恢复管理器预览版

    开发人员正逐渐转向云计算,因为它具有众多优势,包括成本.自动化和让开发人员专注于应用程序逻辑的能力.我们很高兴地宣布,继推出 Visual Studio 2013 之后,今天将发布 Windows A ...

  4. HDU 1000 A + B Problem

    #include int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) printf("%d\n&q ...

  5. HDU 1286 找新朋友

    题解:分析题目,就是一个裸的欧拉函数,于是AC. #include <cstdio> int eular(int n){ int ret=1,i; for(i=2;i*i<=n;i+ ...

  6. Sicily-1438

    一.      题意 买二送一.排序之后隔三求和,求折扣的最大值. 二.      代码 // // main.cpp // sicily-1438 // // Created by ashley o ...

  7. Java开发岗位面试题

    看到一些java面试题,准备慢慢自己做出来试试. 一.Java基础 1. String类为什么是final的. 只有当字符串是不可变的,字符串池才有可能实现.字符串池的实现可以在运行时节约很多heap ...

  8. Java中volatile的作用以及用法

    volatile让变量每次在使用的时候,都从主存中取.而不是从各个线程的“工作内存”. volatile具有synchronized关键字的“可见性”,但是没有synchronized关键字的“并发正 ...

  9. Shot(三分)

    Shot Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  10. 腾讯webqq最新password加密算法,hash算法

    常常在做webqq机器人,可是最头痛的问题就是腾讯常常加一些验证串来防止robot,如今共享出最新的腾讯password加密算法和hash 算法 hash算法 def webqq_hash(i, a) ...