私はチャットアプリケーションを持っています。私はメッセージを一度だけ送る必要がありますが、私はwhile(真)を使っています。このため、ループメッセージは繰り返し送信されます。メッセージを1回だけ送信したときにwhileループを解除するにはどうすればよいですか?そのメッセージは何度も何度も送信すべきではありません。ここでメッセージを送信中にAndroid Studioでループを中断する方法
は私のコードです:
while (true) {
String[] jobsNumbers = numbers.toArray(new String[numbers.size()]);
new SendMessage().execute(jobsNumbers);
}
、ここでは私のsendMessage 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);
}
}
あなたはwhileループをまったく使用していますか? –