在root Android Android 4.4及更高版本上阻止传入短信?

时间:2015-07-12 09:26:25

标签: android sms android-5.0-lollipop android-4.4-kitkat

根据the doc

  

请注意 - 从Android 4.4开始 - 您的应用尝试中止的任何尝试   所有应用都将忽略SMS_RECEIVED_ACTION广播   有兴趣有机会接收它。

所以,只有默认的短信应用可以做到这一点,看起来Android 5.0没有任何改变(原因不明,根据issue被标记为已废弃)。

如果电话已植根,是否有任何方法可阻止非默认短信应用的传入短信(阻止垃圾邮件的应用需要此功能)?怎么做?

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:4)

您可以编写覆盖CarrierMessagingService的服务。 如果绑定到此成功,则消息不会传递到主应用程序。

注册为运营商消息服务所需的

BIND_CARRIER_MESSAGING_SERVICE权限要求该应用程序为系统应用程序。因此,您需要将应用程序推送到系统。

答案 2 :(得分:2)

您可以尝试以下解决方案:

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

要获取API以禁用应用程序,您必须成为MDM(移动设备管理)合作伙伴app.OEMs为其MDM合作伙伴应用程序提供其他API以控制设备。例如,samsung提供api以禁用特定应用程序。我猜他们也有API来控制特定应用程序的权限。

或者我猜新的android Device/Profile Owner模式必须有一个API来禁用特定的应用程序。

相关问题