Ich habe eine Chat-Anwendung. Ich muss eine Nachricht nur einmal senden, während ich while (true) benutze. Aufgrund dieser Schleife wird die Nachricht immer wieder gesendet. Wie kann ich die While-Schleife unterbrechen, wenn die Nachricht nur einmal gesendet wird? Diese Nachricht sollte nicht immer wieder gesendet werden.Wie während der Schleife in Android Studio während des Sendens der Nachricht brechen
Hier ist mein Code:
while (true) {
String[] jobsNumbers = numbers.toArray(new String[numbers.size()]);
new SendMessage().execute(jobsNumbers);
}
und hier ist mein nachrichts AsyncTask:
private class sendMessage extends AsyncTask<String, Integer, Integer> {
@Override
protected Integer doInBackground(String[] toNumbers) {
totalNumbers = toNumbers.length;
for (i = 0; i < toNumbers.length; i++) {
toNumber = toNumbers[i];
if (countMessagePerDay() >= Integer.parseInt(MaxNoOfMessagePerDay)) {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
sendSMS(toNumber);
this.publishProgress(1);
}
if (randomNo != 0 && isSent) {
databaseHelperClass.updateJobMessageStatus(JobId);
}
}
return toNumbers.length;
}
@Override
protected void onProgressUpdate(Integer... values) {
Toast.makeText(getApplicationContext(), i + "/" + totalNumbers + " :: to " + toNumber, Toast.LENGTH_SHORT).show();
super.onProgressUpdate(values);
}
@Override
protected void onCancelled(Integer integer) {
super.onCancelled(integer);
}
@Override
protected void onPostExecute(Integer integer) {
Toast.makeText(getApplicationContext(), "Message sent!", Toast.LENGTH_LONG).show();
super.onPostExecute(integer);
}
}
warum Verwenden Sie die while-Schleife überhaupt? –