android 内容观察者之短信窃听器

步骤:

1.获取内容观察者

ContentResolver contentResolver = getContentResolver();

2.为观察的内容注册观察(也就是在android短信里面的空间,添加观察者)

// uri 短息的地址

// true 代表短信地址符合都行,false代表必须一模一样

// 添加的观察者,做什么事情

Uri uri = Uri.parse("context://sms/"); // 短信

contentResolver.registerContentObserver(uri, true, new MyObserver(

new Handler()));

3.具体观察者

private class MyObserver extends ContentObserver {

public MyObserver(Handler handler) {

super(handler);

}

/**

* 当内容观察这检查到数据库有更新的时候,就会调用该方法

* 也就是当有新的短信更新的时候,都会知道

*/

@Override

public void onChange(boolean selfChange) {

super.onChange(selfChange);

Toast.makeText(MainActivity.this, "短信内容有新提示", Toast.LENGTH_SHORT)

.show();

}

}

注释:onChange()方法里面就可以写一些获取短信的内容,发送到自己的服务器,在从

服务器发消息给自己,这样就实现了短信的窃听,但是这样窥探了用户的隐私,不介意使用。

时间: 2024-11-03 07:19:59

android 内容观察者之短信窃听器的相关文章

内容观察者实现短信监听

内容观察者实现短信监听 通过内容观察者监听短信是否发生变化,如果发生变化,就用内容提供者读取短信的内容. 原理: 当短信发生变化(比如说来短信),短信应用就会通知内容观察者我的短信发生了变化,并把变化位置短信的uri传过来,有uri之后,内容提供者就可以很方便的读取短信内容了,不过肯定要保证权限够. package com.example.duanxinjianting; import android.app.Activity; import android.database.ContentOb

Android 利用内容观察者实现短信窃听

<Android 内容观察者的原理>中介绍了内容观察者的一些基本原理,并做了简单的实战,本文接着进一步做一个小项目实战 package com.wuyudong.smslistener; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.net.Uri; import andr

内容观察者(一个简单的手机短信窃听器)

一丶内容观察者  * 在内容提供者中要通知内容发生了变化         getContext().getContentResolver().notifyChanges(uri,null) ; //null表示没有固定的接收者  * 在其他应用中写一个观察者,并注册一个实例         getContentResolver().registerContentObserver(uri,true,Observer) ; //uri观察的主机数据,true表示只要主机匹配即可,Observer表示

Android接收和发送短信

每一部手机都具有短信接收和发送功能,下面我们通过代码来实现接收和发送短信功能. 一.接收短信 1.创建内部广播接收器类,接收系统发出的短信广播 2.从获得的内容中解析出短信发送者和短信内容 3.在Activity中注册广播 4.添加接收短信权限 下面放上具体的代码 activity_main.xml文件用于显示短信发送者号码和显示短信内容 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout

Android 2.3发短信详细流程

在android中,APP通过SmsManager.java一系列方法实现发送短信的功能,而发送的内容有很很多种,比如sendTextMessage.sendMultipartTextMessage.sendDataMessage等等,在这篇文章里我们就以其中一个为例阐述发送短信的完整流程,如果有不对的地方,请大家指正,一起学习. 1. 起点:SmsManager.java (frameworks/base/telephony/java/android/telephony/SmsManager.

【转】如何向Android模拟器打电话发短信

转载地址:http://hi.baidu.com/jeremylai/item/420f9c9fe4881fccb62531f7 1. 启动Android Emulator, 查看标题栏找出端口.一般是android emulator(5554),其中5554就是端口. 2. 打开命令行,输入telnet localhost 5554.程序将会连接到android emulator,控制台会返回 Android Console: type ‘help’ for a list of command

android: 接收和发送短信

8.2    接收和发送短信 收发短信应该是每个手机最基本的功能之一了,即使是许多年前的老手机也都会具备这 项功能,而 Android 作为出色的智能手机操作系统,自然也少不了在这方面的支持.每个 Android 手机都会内置一个短信应用程序,使用它就可以轻松地完成收发短信的操作,如 图 8.4 所示. 图   8.4 不过作为一名开发者,仅仅满足于此显然是不够的.你要知道,Android 还提供了一系 列的 API,使得我们甚至可以在自己的应用程序里接收和发送短信.也就是说,只要你有足 够的信

向android模拟器打电话发短信的简单方法

在开发android应用程序时,有时候需要测试一下向android手机拨打电话发送短信时该应用程序的反应.譬如编写一个广播接收器,来提示用户有短信收到或者处理短信,就需要向该手机发送短信来进行测试.这里介绍一种简单的向android模拟器打电话发短信的方法. 该方法利用了eclipse ADT的DDMS来实现,首先点击打开DDMS,在eclipse界面的右上角,如图: 如果找不到,就点左边的图标,再点击others就会看到. 打开之后,在界面的左边中部会看见有一个Emulator Control

使用内容提供者备份短信

1.获取短信的权限配置 1 <uses-permission android:name="android.permission.READ_SMS"/> 2 <uses-permission android:name="android.permission.WRITE_SMS"/> 2.通过内容提供者获取短信内容 1 package com.example.readsysmsm; 2 3 import java.util.ArrayList;