Android Уведомление с обратным отсчетом времени - PullRequest
0 голосов
/ 30 октября 2018

У меня есть сигнал, который запускает обратный отсчет с уведомлением, которое ведет обратный отсчет и обновляет уведомление.

Проблема в том, что когда уведомление исчезает, таймер создает новое.

Как я могу остановить таймер при отклонении уведомления?

Мой код ниже:

public class AlarmReceiver extends BroadcastReceiver {


@Override
public void onReceive(Context context, Intent intent) {



    String time = intent.getStringExtra("Time");
    long milliSeconds = GetTimeToNextPrayerInMilliseconds(time);

    int intentId = intent.getIntExtra("IntentId", 0);

    CreateCountDownTimer(milliSeconds, intentId);

}

private void CreateCountDownTimer(long milisecondsToFinish, final int intentId) {
    CountDownTimer timer = new CountDownTimer(milisecondsToFinish, 1000) {

        @Override
        public void onTick(long millis) {
            //int seconds = (int) (millis / 1000) % 60;
            int minutes = (int) ((millis / (1000 * 60)) % 60);
            int hours = (int) ((millis / (1000 * 60 * 60)) % 24);
            String text = String.format("%02d:%02d", hours, minutes);

            Notification notification = new Notification.Builder(_context)
                    .setContentTitle("Title")
                    .setContentText("USA")
                    .setSmallIcon(R.drawable.logo)
                    .build();

            NotificationManager notificationManager = (NotificationManager) _context.getSystemService(NOTIFICATION_SERVICE);
            notificationManager.notify(intentId, notification);

        }

        @Override
        public void onFinish() {

            NotificationManager notificationManager = (NotificationManager) _context.getSystemService(NOTIFICATION_SERVICE);
            notificationManager.cancel(intentId);

        }
    }.start();
}

1 Ответ

0 голосов
/ 30 октября 2018

Вы хотите создать DeleteIntent и поймать его, чтобы отменить таймер.

См. поймать при смахивании, чтобы отклонить событие о том, как реализовать DeleteIntent.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...