2

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

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

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

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

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

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

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

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

context.sendBroadcast(intent);

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

4

1 回答 1

0

这有帮助吗?DDMS 可以模拟 SMS 消息、呼叫和位置。它与为 Android 开发和 Android Studio 设置的 Eclipse 集成。您可以在以下位置找到它:

窗口 > 打开透视图 > 其他... > DDMS。

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

于 2013-05-28T17:42:23.897 回答