你能看到我的代码吗?这是正确的?交货不起作用。请帮我

时间:2013-05-24 11:27:00

标签: android

接下来,我的代码:

注意:我发送时成功,但在另一个移动接收器时不触发。 所以,我只知道我的短信被发送,但我不知道我的短信何时被送到另一个模拟器。

我来自巴西,对英语很抱歉。我还在努力学习,笑......“

所以,我希望你能帮助我,接下来你可以看到我的代码。

我的代码:

private static final String SENT  = "SMS_SENT";
private static final String DELIVERED = "SMS_DELIVERED";

private void enviaMensagem(String numero, String texto, int id){
        try{
            ID_SMS = id;
            PendingIntent sendPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
            PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);


        registerReceiver(new BroadcastReceiver() {

            @Override
            public void onReceive(Context context, Intent intent) {
                switch(getResultCode()){
                case Activity.RESULT_OK: atualizaStatus("Mensagem Enviada", "envio", ID_SMS);break;
                case SmsManager.RESULT_ERROR_GENERIC_FAILURE: atualizaStatus("Erro no envio da mensagem", "envio", ID_SMS); break;
                case SmsManager.RESULT_ERROR_NO_SERVICE: atualizaStatus("Sem serviço", "envio", ID_SMS); break;
                case SmsManager.RESULT_ERROR_NULL_PDU: atualizaStatus("ErroO de PDU", "envio", ID_SMS); break;
                }

            }
        }, new IntentFilter(SENT));

        registerReceiver(new BroadcastReceiver() {

            @Override
            public void onReceive(Context context, Intent intent) {
                switch(getResultCode()){
                case Activity.RESULT_OK:atualizaStatus("Mensagem entregue", "recebimento", ID_SMS);break;
                case Activity.RESULT_CANCELED:atualizaStatus("Mensagem não entregue", "recebimento", ID_SMS);break;
                }

            }
        }, new IntentFilter(DELIVERED));
        sMessage = SmsManager.getDefault();
        sMessage.sendTextMessage(numero, null, texto, sendPI, deliveredPI);
        txtStatus.setTextColor(Color.GREEN);
        txtStatus.setText("Mensagem enviada.");
        }
        catch(Exception ex){
            txtStatus.setTextColor(Color.BLUE);
            txtStatus.setText(ex.getMessage());
        }

    }

感谢大家的一切。再见。

1 个答案:

答案 0 :(得分:0)

看起来您的意图过滤器可能有错误的操作。根据此site,操作名称为SMS_RECEIVED。