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" />
 
 
 
來源:
http://blog.csdn.net/csh159/article/details/8995299
arrow
arrow
    文章標籤
    android 簡訊 app
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()