Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从hangout中止sms_Android - Fatal编程技术网

Android 如何从hangout中止sms

Android 如何从hangout中止sms,android,Android,我搜索了很多关于支持闲逛的android手机的短信过滤器,但我发现这是不可能的 但Tsvetan Nachev有一个应用程序作为短信过滤器,它可以阻止来自hangout的短信,该应用程序的链接是: 我在4.1.2上进行了测试 有人知道那个应用程序是怎么做到的吗 这是我的密码 if (intent.getAction().equals(SMS_RECEIVED)) { Bundle bundle = intent.getExtras(); if (bundle != null) {

我搜索了很多关于支持闲逛的android手机的短信过滤器,但我发现这是不可能的

但Tsvetan Nachev有一个应用程序作为短信过滤器,它可以阻止来自hangout的短信,该应用程序的链接是:

我在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();
    }
}
if(intent.getAction().equals(收到短信))
{
Bundle=intent.getExtras();
if(bundle!=null)
{
Object[]pdus=(Object[])bundle.get(“pdus”);
如果(pdus.length==0)
{
回来
}
SmsMessage[]messages=新SmsMessage[pdus.length];
StringBuilder sb=新的StringBuilder();
对于(int i=0;i

提前感谢。

您可以查看此信息-当消息来自hangout应用程序时,您需要检查它包含的地址或主题与其他消息格式不同。对于
消息中止
,您可以查看
中止广播();方法
内置
广播消息接收器
在安卓系统中接收接收传入消息的意图。希望这对您有所帮助。

我的问题是如何过滤任何传入消息,无论它从何处发送,所以当我尝试您的建议答案时,我仍然遇到了与我的正常短信收件箱相同的问题,即不显示短信,但hangout显示的是相同的消息那么我如何中止该消息呢?您提供的链接只是阻止来自存储在应用程序sqlite db中的发送方的传入消息。当传入消息进入接收方时,检查该号码是否来自黑名单号码,如果是,则调用abortbraodcast();方法,这样该消息就不会发送到移动收件箱。您需要在应用程序中本地将该消息存储到sqlite db中,然后您可以将电话号码作为db表中的主键,这样您就可以获得特定发件人的所有消息。希望这有助于了解db内容,以满足您的需求。是的,我知道,但是hangout现在是我的默认收件箱,因此我如何从hangout发送邮件。我尝试了所有可能的方法,但仍然存在相同的问题n我还将我的SMSReiver的优先级设置为最高(10009992147483647)粘贴您的代码由于您的问题不清楚,正在发生什么和预期发生什么。最好使用带有快照的代码进行澄清