在特定情况下,我希望我的应用程序能够在用户设备上“伪造”收到的短信,作为一种通知。当我通常使用 Twilio 向我的用户发送文本但我知道他们已经拥有我的应用程序时,这会为我省钱。有什么办法吗?我想这可能与 Intents 和 Content Provider 有关,但我真的不知道从哪里开始。
澄清一下: 我不是 Android 的新手,我确实尊重所有正常的通知方法。但是,我的应用程序可以选择加入短信,我希望能够免费触发它们而不是付费。这是针对 SMS 特定用途,不能替代普通通知。
最佳答案
是的(虽然我真的不支持这样做)理论上可以通过创建和广播适当的 Intent 来实现。具体来说,他们的 android.provider.Telephony.SMS_RECEIVED
Intent 将被任何正在收听 SMS 消息的人接收,包括默认的 SMS 应用程序。这将导致显示通知。
综上所述,我只在自定义版本的 Android 系统进程中完成过此操作。我真的不确定通用应用程序是否可以做到这一点(事实上,我有点怀疑)。另一个需要注意的是,您需要将数据转化为代表 SMS 消息的二进制数据格式的 PDU。您可以查一下,但这很重要。
更好的方法是让您的应用程序在托盘中显示通知,这是行为良好的应用程序应该通知用户事件的方式。看看 Notification
类。
关于android - 是否可以在 Android 上伪造传入的短信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12014239/