是否可以在 Android 上伪造传入短信?

问题描述 投票:0回答:3

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

澄清一下: 我对 Android 并不陌生,而且我确实尊重所有正常的通知方法。但是,我的应用程序将有一个选择接收短信的功能,我希望能够免费触发它们,而不是付费。这是针对 SMS 特定用途,不能替代普通通知。

android android-intent sms android-contentprovider
3个回答
2
投票

是的(虽然我真的不支持这样做),理论上可以通过创建和广播正确的意图来实现。具体来说,任何正在收听 SMS 消息的人(包括默认的 SMS 应用程序)都会收到他们的

android.provider.Telephony.SMS_RECEIVED
意图。这将依次导致显示通知。

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

更好的方法是让您的应用程序在托盘中显示通知,这是行为良好的应用程序向用户通知事件的方式。看看

Notification
课程。


1
投票

如果您安装名为

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

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

此包的完整源代码通常位于

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

0
投票

或者您可以获取应用程序假短信。它仅在 Android 应用商店中存在,不适用于 iOS。下载应用程序后,您可以输入您想要传入文本的号码。您输入您想要接收的消息,然后选择发送或接收,在您的情况下,它将被接收。然后,您选择想要发送消息的日期和时间。它可以来自以前的时间,也可以来自未来。我相信您还可以选择它是否已读或未读。如果您选择来自手机中当前有聊天记录的人的文本,它会将文本添加到您的实际对话中,就像它是真实的传入文本一样。并且您可以通过更改为发送而不是接收来回复文本。

© www.soinside.com 2019 - 2024. All rights reserved.