根据Android 4.4和更高版本阻止传入的短信?

按照文档 :

请注意,从Android 4.4开始 – 您的应用程序尝试中止SMS_RECEIVED_ACTION广播将被忽略,所有感兴趣的应用程序都有机会接收它。

所以,只有默认的短信应用程序可以做到这一点,看起来没有任何改变与Android 5.0(由于不明原因,根据问题被标记为过时)。

有没有什么办法阻止非默认短信应用程序的传入短信,如果电话是根(这是垃圾邮件拦截应用程序需要)? 怎么做?

Solutions Collecting From Web of "根据Android 4.4和更高版本阻止传入的短信?"

你可以编写一个覆盖CarrierMessagingService的服务。 如果绑定到这个成功,那么消息不会传递到主应用程序。

注册为运营商消息传递服务所需的BIND_CARRIER_MESSAGING_SERVICE权限需要该应用程序为系统应用程序。 所以你需要将你的应用程序推送到系统。

使您的应用程序成为默认的SMS提供商 然后它可以注册SMS_DELIVER_ACTION。 在该接收器中,您可以select将SMS写入数据库。 如果你select不这样做,SMS基本上被忽略。 如果您select,任何其他应用程序可以收到短信。

您可以尝试以下解决scheme:

遍历能够处理SMS的包列表并以编程方式禁用它们。

要获得一个API来禁用一个应用程序,你将不得不成为一个MDM(移动设备pipe理)合作伙伴app.OEMs提供额外的API到他们的MDM合作伙伴应用程序来控制设备。例如,三星提供了API来禁用特定的应用程序。也有API来控制特定应用程序的权限。

或者我猜新的android 设备/configuration文件所有者模式必须有一个API来禁用特定的应用程序。