我有以下代码通过我的应用程序接收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应用程序。
我该如何解决?
答案 0 :(得分:0)
这有帮助吗? DDMS可以模拟SMS消息,calles和位置。它与为Android开发和Android工作室设置的Eclipse集成。您可以在以下网址找到它:
窗口> Open Perspective>其他...> DDMS。