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. 关于$.ajax的请求格式

    1 $.ajax({ 2 url: "http://localhost:5311/UserService.asmx/GetLoginId",//请求的URL 3 type: &qu ...

  2. php学习笔记(2)

    1.算数运算 <?php $a = 8; $b = 2; $c = 3; echo $a+$b."<br>\n"; echo $a-$b."<br ...

  3. MCE遥控---用遥控器玩电脑

    实现功能:利用Vista/Windows7的Media Center或者iMCE的支持,配上电脑遥控器,就可以在电视上用遥控器玩电脑,看高清.听音乐.看照片.录电视等.遥控器比鼠标操作起来更加自然,家 ...

  4. DataList嵌套绑定例子

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataList控件.asp ...

  5. PHP glob() 函数用法

    glob() 函数返回匹配指定模式的文件名或目录. 该函数返回一个包含有匹配文件 / 目录的数组.如果出错返回 false. 语法 array glob ( string $pattern [, in ...

  6. 快速注册Uber司机,兼职月入轻松过万

    Uber是世界领先的即时用车网络平台.当前部分中国城市,Uber司机只需每周完成70单,可获得7000元的激励制度回报司机,月收入近3万元.[加入条件]1. 车辆为本地牌照2. 车龄在5年以内3. 裸 ...

  7. 利用copy函数简单快速输出/保存vector向量容器中的数据

    如果要输出vector中的数据我们可以通过循环语句输出,更加简便的方法是利用copy函数直接输出,例子: #include "stdafx.h" #include <iost ...

  8. Notepad++中Windows,Unix,Mac三种格式

    Notepad++中Windows,Unix,Mac三种格式之间的转换 http://www.crifan.com/files/doc/docbook/rec_soft_npp/release/htm ...

  9. CoffeeScript 入门笔记

    写在前面: 被英文版指南坑了...闹了很久才明白.coffee怎么用.安装前需要有稳定版 Node.js, 和 npm (Node Package Manager). 借助 npm 可以安装 Coff ...

  10. js中设置setInterval的注意点

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...