Я делаю уведомление, когда пользователь получает видеовстречу в моем приложении.Уведомление о вызове Android - остановить таймер при нажатии
Мое уведомление:
Intent intent1 = new Intent(Intent.ACTION_CAMERA_BUTTON);
Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
PendingIntent pendingIntent = PendingIntent.getActivity(context,0,intent1,0);
NotificationCompat.Action action = new NotificationCompat.Action(R.drawable.ic_camera_notification,"Ok",pendingIntent);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setContentTitle("TITRE !!")
.setContentText("Test")
.setPriority(Notification.PRIORITY_HIGH)
.setCategory(Notification.CATEGORY_CALL)
.setSmallIcon(R.drawable.ic_camera_notification)
.addAction(action)
.setSound(uri)
.setAutoCancel(true)
.setVibrate(new long[] { 1000, 1000});
NotificationManager notificationManager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
Notification notification = builder.build();
notificationManager.notify(11,notification);
Чтобы повторить уведомление до пользователя ответа (или ограниченное время), я думаю, чтобы добавить таймер (например, объяснить здесь: What is the equivalent to a JavaScript setInterval/setTimeout in Android/Java?)
Но когда пользователь делает выбор, Я хочу остановить таймер. Но нет onClickListener, только Intent.
Как я могу это сделать? Благодаря
Спасибо, я, кажется, быть хорошей идеей. Я попробую. Но я спрашиваю, я не думаю, чтобы сделать таймер, это хорошая идея. Но я не нахожу способ сохранить свое уведомление как хэдшоп без этого. –
@RomainCaron Фактически таймер с использованием «Handler» предназначен для таймера с коротким временем, то есть до тех пор, пока приложение работает. В течение более длительного времени используйте [AlarmManager] (https://developer.android.com/reference/android/app/AlarmManager.html). Он запустится, даже ваше приложение в настоящий момент не работает (я имею в виду, что оно запустит ваше приложение, если оно не запущено). – BornToCode