如何模拟Android上的短信接收?

时间:2013-05-28 17:39:43

标签: android sms

我有以下代码通过我的应用程序接收SMS:

public class SMSReceiver extends BroadcastReceiver
{
    @Override
    public void onReceive(Context context, Intent intent)
    {
    ...

为了测试它,我必须用telnet发送短信(我对Android x86无能为力)。

当按下按钮或启动应用程序时,是否可以通过编程方式调用此onReceive?我应该传递什么样的参数(即电话号码应该在哪里?消息文本等)?

UPD 即可。我找到了这个答案 - https://stackoverflow.com/a/12338541/604388。如果我遵循该代码,即:

intent.setClassName("com.android.mms",
                "com.android.mms.transaction.SmsReceiverService");
context.startService(intent);

然后触发标准事件(即消息由标准的android Messaging应用程序接收),但onReceive处的代码不起作用。 如果我将其替换为:

// intent.setClassName("com.android.mms",
//                "com.android.mms.transaction.SmsReceiverService");

context.sendBroadcast(intent);

然后我在onReceive的代码工作,但不是标准的Android应用程序。 我该如何解决?

1 个答案:

答案 0 :(得分:0)

这有帮助吗? DDMS可以模拟SMS消息,calles和位置。它与为Android开发和Android工作室设置的Eclipse集成。您可以在以下网址找到它:

窗口> Open Perspective>其他...> DDMS。

http://developer.android.com/tools/debugging/ddms.html