Вы всегда ссылаетесь на одну и ту же переменную contact
.Вам нужно изменить его с помощью списка k
и номера progress
следующим образом:
k.get(progress) // your current contact
Измените его на что-то вроде этого:
@Override
protected final String doInBackground(List<kisiler>... lists) {
int progress=0;
final List<contacts> k=lists[0];
dialog.setMax(k.size());
while (progress<dialog.getMax()){
try{
final String m=k.get(k.size()-1).getName();
SmsManager smsManager = SmsManager.getDefault();
publishProgress(String.valueOf(k.size()-1),String.valueOf(k.size()),m,String.valueOf(dialog.getMax()));
PendingIntent sendPI = PendingIntent.getBroadcast(getActivity(), 0, new Intent(), 0);
getActivity().registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
switch (getResultCode()) {
case Activity.RESULT_OK:
Toast.makeText(getActivity(),getString(R.string.sent_to_sms)+k.get(progress),Toast.LENGTH_LONG).show();
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
Toast.makeText(getActivity(), R.string.failure+kisi2.getIsim(),Toast.LENGTH_LONG).show();
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
Toast.makeText(getActivity(), R.string.no_service, Toast.LENGTH_LONG).show();
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
break;
}
}
}, new IntentFilter(SENT+m));
smsManager.sendTextMessage(k.get(progress).getNumber(), null, location_information(location), sendPI, null);
}catch (Exception e){
e.printStackTrace();
}
progress++;
}