是否有可能伪造Android上传入的短信?

时间:2012-08-17 23:08:41

标签: android android-intent sms android-contentprovider

在某种情况下,我希望我的应用能够在用户的设备上“伪造”传入的短信,作为一种通知。当我通常使用Twilio向我的用户发送文本但是我知道他们已经拥有我的应用程序时,这可以节省我的钱。有没有办法做到这一点?我想这会与Intents和内容提供商有关,但我真的不知道从哪里开始。

澄清: 我不是Android的新手,我确实尊重所有正常的Notification方法。但是,我的应用程序将选择加入短信,我希望能够免费触发它们而不是支付费用。这适用于特定于SMS的用途,而不是正常通知的替代。

2 个答案:

答案 0 :(得分:2)

是的(虽然我真的不支持这样做)理论上可以通过创建和播放正确的意图来实现。具体来说,任何正在收听短信的人都会收到android.provider.Telephony.SMS_RECEIVED意图,包括默认的短信应用程序。这将导致显示通知。

所有这些都说,我只是在系统进程中的自定义Android版本中完成了这个。我真的不确定通用应用程序是否可以做到这一点(事实上,我有点怀疑)。另一个需要注意的是,您需要将数据表示为PDU,表示SMS消息的二进制数据格式。你可以看一下,但这很重要。

更好的方法是让您的应用程序在托盘中显示通知,表现良好的应用程序应该通知用户事件。看一下Notification课程。

答案 1 :(得分:1)

如果您安装了通常随您选择的SDK平台一起安装的名为ApiDemos-debug.apk的apk,您将在

中找到一个示例
<Api Demos> > App > Notification > IncomingMessage

此软件包的完整源代码通常在

<SDK root>/samples/android-xx/ApiDemos