3

2つのSMSメッセージを送信しています。2つのトーストメッセージが必要です。

1)「SMS送信-最初の番号」と

2)「SMS送信-2番目の番号」

ただし、2つのトーストメッセージが両方ともメッセージを表示しています

1)、メッセージはどうなりますか

2)?何が欠けていますか?

ありがとう。

    registerReceiver(new BroadcastReceiver(){
        @Override
        public void onReceive(Context arg0, Intent arg1) {
            switch (getResultCode())
            {
                case Activity.RESULT_OK:
                    Toast.makeText(getBaseContext(), "SMS sent - " + arg1.getStringExtra("SendTo"), 
                            Toast.LENGTH_LONG).show();
                    break;
            }
        }
    }, new IntentFilter(SENT));

    SmsManager sms = SmsManager.getDefault();
    Intent intent = new Intent(SENT);
    intent.putExtra("SendTo", "first number");
    PendingIntent sentIntents = PendingIntent.getBroadcast(this, 0, intent, 0);
    sms.sendTextMessage("1234", null, message, sentIntents, null);

    Intent intent1 = new Intent(SENT);
    intent1.putExtra("SendTo", "second number");
    PendingIntent sentIntents1 = PendingIntent.getBroadcast(this, 0, intent1, 0);
    sms.sendTextMessage("456", null, message, sentIntents1, null);
4

2 に答える 2

1

同じインテントを使用しているので、インテントを更新し、結果が重複しないようにリクエストコードを変更する必要があります。以下を参照してください。次のコードが機能します。

 registerReceiver(new BroadcastReceiver(){
                @Override
                public void onReceive(Context arg0, Intent arg1) {
                    switch (getResultCode())
                    {
                        case Activity.RESULT_OK:
                            Toast.makeText(getBaseContext(), "SMS sent - " + arg1.getStringExtra("SendTo"),
                                    Toast.LENGTH_LONG).show();
                            break;
                    }
                }
            }, new IntentFilter(SENT));

            SmsManager sms = SmsManager.getDefault();
            Intent intent = new Intent(SENT);
            intent.putExtra("SendTo", "first number");
            PendingIntent sentIntents = PendingIntent.getBroadcast(this, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT);
            sms.sendTextMessage("5556", null,message, sentIntents, null);

            Intent intent1 = new Intent(SENT);
            intent1.putExtra("SendTo", "second number");
            PendingIntent sentIntents1 = PendingIntent.getBroadcast(this, 1, intent1, PendingIntent.FLAG_UPDATE_CURRENT);
            sms.sendTextMessage("5556", null, message, sentIntents1, null);
于 2012-06-06T06:21:35.937 に答える
0

これに変更します:

Toast.makeText(this, "First number", Toast.LENGTH_SHORT).show();
sms.sendTextMessage("1234", null, message, null, null);
Toast.makeText(this, "Second number", Toast.LENGTH_SHORT).show();
sms.sendTextMessage("456", null, message, mull, null);
于 2012-06-06T06:07:59.317 に答える