2014-04-01 104 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这有助于理解你的需求分贝的东西 –