android删除android拦截短信并删除该条短信

上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下android删除

    直接给代码吧:

package com.zte.android.greenweb.launcher.service;

import org.json.JSONException;
import org.json.JSONObject;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.SmsMessage;

public class InterceptSmsReciever extends BroadcastReceiver
{

	// 广播消息类型
	public static final String SMS_RECEIVED_ACTION =
			"android.provider.Telephony.SMS_RECEIVED";

	@Override
	public void onReceive(Context context, Intent intent)
	{
		String msgContent = "";
		String functiontype = "";
		Bundle bundle = intent.getExtras();
		Object messages[] = (Object[]) bundle.get("pdus");
		SmsMessage smsMessage[] = new SmsMessage[messages.length];
		for (int n = 0; n < messages.length; n++)
		{
			smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
			msgContent = smsMessage[n].getMessageBody();
			try
			{
				JSONObject json = new JSONObject(msgContent);
				functiontype = json.getString("functiontype");
				if (functiontype.equalsIgnoreCase("TimelyManage"))//
				{
					String opennet = json.getString("actiontype");
					Intent in = new Intent();
					in.putExtra("OpenNet", opennet);
					context.sendBroadcast(intent);
					deleteSMS(context, msgContent);
					this.abortBroadcast();
				}
			}
			catch (JSONException e)
			{
				e.printStackTrace();
			}
		}
	}

	public void deleteSMS(Context context, String smscontent)
	{
		try
		{
			// 准备系统短信收信箱的uri地址
			Uri uri = Uri.parse("content://sms/inbox");// 收信箱
			// 查询收信箱里全部的短信
			Cursor isRead =
					context.getContentResolver().query(uri, null, "read=" + 0,
							null, null);
			while (isRead.moveToNext())
			{
				// String phone =
				// isRead.getString(isRead.getColumnIndex("address")).trim();//获得发信人
				String body =
						isRead.getString(isRead.getColumnIndex("body")).trim();// 获得信息内容
				if (body.equals(smscontent))
				{
					int id = isRead.getInt(isRead.getColumnIndex("_id"));

					context.getContentResolver().delete(
							Uri.parse("content://sms"), "_id=" + id, null);
				}
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}
    每日一道理
聪明人学习,像搏击长空的雄鹰,仰视一望无际的大地;愚笨的人学习,漫无目的,犹如乱飞乱撞的无头飞蛾;刻苦的人学习,像弯弯的河流,虽有曲折,但终会流入大海;懒惰的人学习,像水中的木头,阻力越大倒退得越快。
<!-- 注册Receiver,并且设置优先级 -->
        <receiver
            android:name="com.zte.android.greenweb.launcher.service.InterceptSmsReciever"
            android:exported="true" >
            <intent-filter android:priority="1000" >
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>

    权限:

<uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.WRITE_SMS" />

    

    

    

    

    

文章结束给大家分享下程序员的一些笑话语录: 一个程序员对自己的未来很迷茫,于是去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝说"我的孩子,你去问Lippman,他现在领导的程序员的队伍可能是地球上最大的"
于是他去问Lippman。
Lippman说"程序员的未来就是驾驭程序员"
这个程序员对这个未来不满意,于是他又去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝说"我的孩子,你去问Gates,他现在所拥有的财产可能是地球上最多的"
于是他去问Gates。
Gates说"程序员的未来就是榨取程序员"
这个程序员对这个未来不满意,于是他又去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝说"我的孩子,你去问侯捷,他写的计算机书的读者可能是地球上最多的"
于是他去问侯捷。
侯捷说"程序员的未来就是诱惑程序员"
这个程序员对这个未来不满意,于是他又去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝摇摇头"唉,我的孩子,你还是别当程序员了")

--------------------------------- 原创文章 By
android和删除
---------------------------------

posted @ 2013-05-30 20:46  xinyuyuanm  阅读(600)  评论(0编辑  收藏  举报