2014-04-01 108 views
-3

我搜索了很多短信過濾環聊啓用Android手機,我只發現這是不可能的。如何中止短信的短信

但有一個應用程序,通過Tsvetan Nachev短信過濾,從聚會和紐帶,爲這個應用程序塊的短信是:https://play.google.com/store/apps/details?id=com.nachev.apps.smsfilter

我在4.1.2測試

所以有人知道這是如何發生的該應用程序?

這裏是我的代碼提前

if (intent.getAction().equals(SMS_RECEIVED)) 
    { 
Bundle bundle = intent.getExtras(); 
if (bundle != null) 
{ 
    Object[] pdus = (Object[]) bundle.get("pdus"); 
    if (pdus.length == 0) 
    { 
     return; 
    } 

    SmsMessage[] messages = new SmsMessage[pdus.length]; 
    StringBuilder sb = new StringBuilder(); 
    for (int i = 0; i < pdus.length; i++) 
    { 
     messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); 
     sb.append(messages[i].getMessageBody()); 
    } 
    String sender = messages[0].getOriginatingAddress(); 
    String message = sb.toString(); 

    if(message.equals("something")) 
    { 
     abortBroadcast(); 
    } 
} 

感謝。

回答

0

你可以看看這個 - Intercept Incoming SMS Message and Modify it你需要做的是從其他郵件檢查when message is came from hangout application it it contains in address or subject that is diff format.For message abort可能看起來abortBroadcast(); methodbroadcast message receiver在傳入message.Hope這有助於您接收意向的Android。

+0

我的問題是我怎麼可以過濾任何傳入的消息,無論它從哪裏發送,所以當我試圖你建議的答案我仍然有同樣的問題,因爲我的正常的短信收件箱不顯示短信,但環聊顯示相同的消息,所以我怎麼能放棄此消息? – Nik

+0

你給的鏈接只是阻止來自發件人的傳入消息存儲在應用程序的sqlite數據庫。當傳入的消息進入接收器時,它檢查數字是否來自黑名單號碼,如果是,則調用abortbraodcast();的方法,以便該messge不會傳遞到移動收件箱 –

+0

哪些將messish會來,你需要存儲到您的應用程序本地的sqlite數據庫,然後這可以使電話號碼作爲您的數據庫表中的主鍵,這樣你會得到所有消息特別sender.Hope這有助於理解你的需求分貝的東西 –