0

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

我通过使用 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);
}

任何线索有什么问题...?

更新:请注意,上面的代码适用于模拟器。

4

1 回答 1

0

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

由于 telnet 命令有效,您的 BroadcastReceiver 可能已正确实现,但无论如何您都应该附上它的代码......很难对您看不到的代码进行故障排除:)

于 2012-05-30T23:52:53.323 回答