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和删除
---------------------------------