2013-05-28 102 views
2

我有下面的代码我的应用程序来接收短信:如何在Android上模拟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。如果我按照那个代码,即:(由标准的Android短信应用,即收到消息)

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

那么标准的事件被解雇,但我在onReceive代码不起作用。 如果我将其替换为:

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

context.sendBroadcast(intent); 

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

回答

0

这有帮助吗? DDMS可以模拟SMS消息,呼叫和位置。它与为Android开发和Android工作室设置的Eclipse集成。你可以在:

Window> Open Perspective> Other ...> DDMS。

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

+1

不,它不能帮助,因为我想自动“送”的消息,没有telnet或DDMS。 –