Member 13584740 Ответов: 1

Отправка уведомления даже если на сервере не было сделано никакого обновления


Моя проблема заключается в том, что код должен отправлять уведомление только тогда, когда я добавляю новое предложение, проверяя на сервере каждые 20 секунд, где offerNumber-номер предложения, который у нас уже есть, и когда номер предложения становится номером предложения, который у нас есть, он отправляет уведомление с добавлением нового предложения. Но он отправляет уведомление каждые 20 секунд, даже если обновления нет .. Мне нужно отправить уведомление только тогда, когда offerNumber>offerNum

Что я уже пробовал:

public class service extends IntentService {
ResultSet resultSet;
String offerTitle;
public static int offerNum = 0;
String msg="";
ConnectSQL connectSQL = new ConnectSQL();
public static boolean ServiceIsRun = false;

public service() {
    super("MyWebRequestService");
}

@Override
protected void onHandleIntent(@Nullable Intent workintent) {

    while (ServiceIsRun) {
        try {
            resultSet = connectSQL.RunSearch("SELECT * FROM offerdetails where offernumber> " + offerNum + " ", this);

            if (resultSet.next()) {
                msg= resultSet.getString(1).toString();
                offerNum = resultSet.getInt(9);
            }

           Intent intent = new Intent();
            //set the action that will receive our broadcast
            intent.setAction("com.example.Broadcast");
            // add data to the bundle
            intent.putExtra("msg", msg);
            // send the data to broadcast
            sendBroadcast(intent);
        } catch (SQLException e) {
            Toast.makeText(getApplication(), e.getMessage(), Toast.LENGTH_LONG).show();
            e.printStackTrace();
        }
        try {
            Thread.sleep(20000);
        } catch (Exception ex) {
        }
    }
}

David Crow

Как насчет того, чтобы не звонить sendBroadcast() если resultSet неужели пусто?

1 Ответов

Рейтинг:
2

ZurdoDev

Как уже упоминалось в комментариях, если вы хотите выполнить проверку перед вызовом функции, используйте оператор if.