-1

我正在实现多个时间发送的短信,并且我正在使用每个 for 循环。sendSms当我在 for 循环中调用方法时,它显示更改类型为Numberto String。我已经检查了每个数字的if长度是否大于一,然后发送短信。这是我的代码。

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 回答