Android-SMS环回

Android-SMS环回,android,android-emulator,sms,Android,Android Emulator,Sms,我希望实现SMS环回,即从同一应用程序发送和接收SMS。为此,我创建了一个扩展broadcastReceiver的类,实现了onReceive()方法,并声明了相关的权限 我通过使用telnet发送短信来验证实现。 我想自动化telnet过程,即通过发送SMS让应用程序自行测试。为此,我在主活动中调用了以下方法,但从未调用BroadcastReceiver: private final void sendSMS() { final TelephonyManager telMgr = (T

我希望实现SMS环回,即从同一应用程序发送和接收SMS。为此,我创建了一个扩展
broadcastReceiver
的类,实现了
onReceive()
方法,并声明了相关的权限

我通过使用telnet发送短信来验证实现。 我想自动化telnet过程,即通过发送SMS让应用程序自行测试。为此,我在主活动中调用了以下方法,但从未调用
BroadcastReceiver

private final void sendSMS() {
    final TelephonyManager telMgr = (TelephonyManager)
            getSystemService(Context.TELEPHONY_SERVICE);
    final int len = telMgr.getLine1Number().length(); 
    final String phoneNum = telMgr.getLine1Number().substring(len - 4, len);
    final String msg = "msg"; 
    SmsManager.getDefault().sendTextMessage(phoneNum, null, msg, null, null);
}
有什么不对劲的线索吗


更新:请注意,上面的代码是针对模拟器的。

不确定我是否理解您的问题,但您是否正在尝试从模拟器向自身发送SMS?据我所知,这是不可能的。只需加载另一个模拟器,并在它们之间发送消息


由于telnet命令有效,您的BroadcastReceiver可能已正确实现,但无论如何,您都应该为它附加代码。。。很难排除您看不到的代码:)

谢谢您的回复。为什么你声称模拟器不可能将SMS发送回自己?我这样说是因为它从未在我的任何模拟器上工作过。不是通过内置的SMS应用程序,也不是通过SmsManager。当使用内置的SMS应用程序时,SMS将被标记为已发送,但您永远不会收到它:(这正是问题所在:(