Как прервать цикл while в Android Studio при отправке сообщения

ansar abbas спросил: 26 ноября 2017 в 05:24 в: android

У меня есть приложение чата. Я должен отправить сообщение только один раз, в то время как я использую while (true). Из-за этого цикла сообщение отправляется снова и снова. Как я могу разорвать цикл while, когда сообщение отправляется только один раз? Это сообщение не следует отправлять снова и снова.

Вот мой код:

while (true) {
    String[] jobsNumbers = numbers.toArray(new String[numbers.size()]);
    new SendMessage().execute(jobsNumbers);
}

, а вот мой Asynctask sendMessage:

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);
    }
}

0 ответов