1

我目前正在研究一个分析 SMS_RECEIVED-Flow 的项目。

根据文章 [1],我通过显式调用服务模拟了 SMS_RECEIVED-Broadcast com.android.mms.transaction.SmsReceiverService:。

问题是,Android-Emulator 和我的 Nexus 只将生成的 BroadcastReceiver 转发到默认的 SMS-App,我不知道为什么。

我试图在另一个应用程序中使用静态注册的接收器和动态注册的接收器(所有接收器都注册了最高优先级和正确的意图过滤器)来捕获广播。这两种方法都适用于普通短信,但不适用于我的模拟短信。

所以问题是,有人知道 SMS-Receive 机制是如何工作的,以及为什么我的程序不会收到任何广播。

[1] http://blog.dev001.net/post/14085892020/android-generate-incoming-sms-from-within-your-app

4

1 回答 1

1

SmsRecieverService 是默认消息传递应用程序的一部分,因此如果您明确调用此服务,则广播将仅到达该应用程序。由于 SMS_RECIEVED 广播是受保护的广播,因此您的应用无法广播它。

一种方法是在模拟器和您的应用程序中更改广播的名称。

于 2012-08-06T11:49:50.740 回答