Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有可能在Android上伪造收到的短信?_Android_Android Intent_Sms_Android Contentprovider - Fatal编程技术网

有没有可能在Android上伪造收到的短信?

有没有可能在Android上伪造收到的短信?,android,android-intent,sms,android-contentprovider,Android,Android Intent,Sms,Android Contentprovider,在特定情况下,我希望我的应用程序能够“伪造”用户设备上的传入短信,作为一种通知。当我通常使用Twilio向我的用户发送文本时,这会帮我省钱,但我知道他们已经有了我的应用程序。有没有办法做到这一点?我想这可能与意图和内容提供商有关,但我真的不知道从哪里开始 澄清: 我对Android并不陌生,我尊重所有正常的通知方法。然而,我的应用程序将有一个选择加入短信,我希望能够免费触发它们,而不是付费。这是用于SMS特定用途,而不是作为普通通知的替代品。如果您安装了名为ApiDemos debug.apk的

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

澄清:
我对Android并不陌生,我尊重所有正常的通知方法。然而,我的应用程序将有一个选择加入短信,我希望能够免费触发它们,而不是付费。这是用于SMS特定用途,而不是作为普通通知的替代品。

如果您安装了名为ApiDemos debug.apk的apk(通常随SDK choosen平台一起安装),您将在中找到一个示例

<Api Demos> > App > Notification > IncomingMessage
>应用程序>通知>输入消息
此软件包的完整来源通常在

<SDK root>/samples/android-xx/ApiDemos
/samples/android xx/ApiDemos
是的(尽管我真的不支持这样做),理论上,通过创建和传播正确的意图,这是可能的。具体来说,任何正在收听SMS消息的人(包括默认的SMS应用程序)都会收到他们的
android.provider.Telephony.SMS_RECEIVED
intent。这将依次导致显示通知

综上所述,我只在定制版本的Android系统进程中完成了这项工作。我真的不确定通用应用程序是否可以做到这一点(事实上,我有点怀疑)。另一个警告是,您需要将您的数据表示为PDU,PDU表示SMS消息的二进制数据格式。你可以查这个,但它很重要


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

“作为一种通知”,就像iPhone上的推送通知一样?如果你的目标是让你的应用程序显示通知,那么显示
通知。如果您的目标是让服务器触发应用程序中的行为,请使用谷歌云消息。你在正确的轨道上,上面的链接显示了如何做的全部细节。对于稍后阅读此问题的读者,请注意,您需要获得广播\u SMS许可。