-1

複数の番号で送信するSMSを実装しており、それぞれのforループを使用しています。sendSmsfor ループでメソッドを呼び出すと、 Numbertoの変更タイプが表示されStringます。if番号の長さが 1 より大きいかどうかを状態のすべての番号で確認してから、SMS を送信します。これが私のコードです。

btnSendSms=(Button)findViewById(R.id.button1_SendSms);
btnSendSms.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
        String message="Hi HElooo";
        String[] number={strCellNo1,strCellNo2,strCellNo3,strCellNo4,strCellNo5};
        Log.e("String Array","->"+number);
        for(int i=0 ; i<number.length ; i++) {
            if(i==0) {
                sendSMS(number, stringMessage);
            }
        }
    }
});

public void sendSMS(String number, String message) {
    String SENT = "SMS_SENT";
    String DELIVERED = "SMS_DELIVERED";
    PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
    PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);
    // SmsManager sms = SmsManager.getDefault();
    SmsManager sms = SmsManager.getDefault();
    sms.sendTextMessage(number, null, message, sentPI, deliveredPI);  
}

@Override
protected void onStop() {
    unregisterReceiver(sendBroadCastReciever);
    unregisterReceiver(deliveryBroadCastReciever);
    super.onStop();
}
4

1 に答える 1

4

配列Stringから使用するインデックスを指定する必要があります。number

for(int i=0 ; i<number.length ; i++){
    if(i==0){
        sendSMS(number[i], stringMessage); // mentioned the index here.
    }
}

for代替フロー (else内の可能なステートメント) がない限り、ループは必要ありませんfor

于 2013-04-23T05:45:39.187 に答える