Отправка уведомления даже если на сервере не было сделано никакого обновления
Моя проблема заключается в том, что код должен отправлять уведомление только тогда, когда я добавляю новое предложение, проверяя на сервере каждые 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
неужели пусто?