android java sms如何检查错误

时间:2015-12-02 20:30:22

标签: java android broadcastreceiver sms

我想检查一下发送短信后发送的信息:

        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(phoneNo, null, smsText, sentPI, null);

正如我现在发现的唯一方法是使用接收器。我是对的吗?

我在帖子中找到了很好的例子: Unable to send sms using SMSManager in Android 第一个答案显示了如何编写接收器。但是,对这个答案有评论,首先是越来越多的接收者通过每条SMS注册(我有),第二条如何解决它:unregisterReceiver(this); 我试过使用unregisterReceiver; 我已将上面的帖子中的代码更改为:

BroadcastReceiver r = new BroadcastReceiver() {
        @Override
        public void onReceive(Context arg0, Intent arg1) {
            unregisterReceiver(r);

.....

registerReceiver(r, new IntentFilter(SENT));

它与示例相同。现在我需要添加unregisterReceiver(r)。 我试过把它放在smsManager.sendTextMessage之后 - 根本没有调用接收器。我试图把它放在onReceive上 - 被告知要宣布r为最终版。那就是这样,现在" r"可能没有启动错误。 我应该在哪里放置unregisterReceiver来摆脱新的和新的接收器?

1 个答案:

答案 0 :(得分:0)

在代码@petey发表更改后,它开始正常工作。看起来我之前将unregisterReceiver(this);放在其他地方。