如何捕获传入的文本消息

时间:2010-04-24 15:11:23

标签: android android-intent

我希望能够控制传入的短信。我的应用程序仍处于“概念证明”版本,我正在尝试学习Android编程。

首先,我的应用程序需要捕获传入的文本消息。如果消息来自已知号码,则处理它。如果没有,则发送消息,因为默认文本消息应用程序没有发生任何事情。

我毫不怀疑它可以做到,但我仍然有一些担忧,我看到在Android上如何完成工作的一些陷阱。

因此,获取编辑文本消息可能相当容易 - 除非安装了其他消息传递应用程序,并且用户可能希望在其中一个上弹出正常的文本消息 - 并且在我的应用程序有了先看看它。

如何确保我的应用程序首先选择传入的短信?

之后,我需要将大多数短信发送到用户选择的任何其他短信应用程序,以便用户可以实际阅读我的应用程序不需要的消息。

由于Android使用相对最多的意图,我不知道如何强制执行我的应用程序以查看所有传入的文本消息,然后停止它或将其发送到默认的文本消息应用程序。 / p>

2 个答案:

答案 0 :(得分:2)

埃斯,

答案是多部分的。首先要了解我们公司已经解决了这个问题,但解决方案暂时是专有的,所以我会回答我的问题而不会在这里或我的公司造成冲突。

1)您永远无法确保您的应用程序获得首选。你能做的就是让你的处理“足够快”,这无关紧要。

2)如果强制解决问题,意图是绝对的。我们公司使用一种称为意向路由的概念。这可确保将数据发送到相应的应用程序。最基本的想法是,当您收到SMS时,您创建一个新意图(不是同一个)并直接发送给该类。这有一些特殊的考虑,但应该给你一些指导。

不幸的是,在不违反我公司的信心或stackoverflow的政策的情况下,在解决方案公布之前(下个月内),我不能再公开表示。

FuzzicalLogic

答案 1 :(得分:0)

重新传输所有传入的消息只是设置监听器,您可以轻松完成see here

之后,如果您没有做任何事情,那就很好了,但是如果您想阻止短信进入原生消息应用,则不建议阻止用户。

最好等一段时间,然后从SMS数据库中删除它。