如何实现Android 4.4及更高版本的短信黑名单?

时间:2014-12-05 13:42:53

标签: android sms android-4.4-kitkat android-broadcast

根据the doc

  

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

为了实现传入短信的黑名单,我的应用应该充当默认短信应用。但我不希望我的应用程序成为真正的默认短信应用程序。所以,我正在考虑以下解决方案:

1。用户在Android设置中将我的应用指定为默认短信应用;

2。用户在我的应用程序中选择另一个(真实的)短信应用程序;

3。所以,我的应用程序能够停止发送垃圾短信的SMS_RECEIVED_ACTION广播,但

4. 所有正常的短信都应该传递给真正的短信应用。

所以,我有两个问题 -

1。如何获取完整的应用列表,可以将其指定为默认值     短信应用程序(Android以某种方式仅显示特定的应用程序     喜好)?

2. 如何进一步处理传入的消息,消息     创作等真正的默认短信应用?

1 个答案:

答案 0 :(得分:0)

您可以获取此应用程序列表,检查所有具有SMS SEND / RECEIVE权限的应用程序以及潜在的真实SMS应用程序

public abstract int checkPermission (String permName, String pkgName)

包管理器的方法可以帮助

http://developer.android.com/reference/android/content/pm/PackageManager.html#checkPermission(java.lang.String,java.lang.String)