#android #android-intent #alarmmanager #android-jobscheduler
Вопрос:
Я разрабатываю приложение для Android, в котором я показываю медиа в слайд-шоу. Приложение продолжает работать 24 на 7, так как оно используется в рекламных целях, но иногда оно автоматически выходит из строя через несколько дней, не знаю, почему, поэтому клиент попросил меня автоматически перезапускать приложение каждые 3 часа. Он должен перезапускать полное приложение каждый раз, когда тратится 3 часа
Я видел другие ответы на тот же вопрос, но они не работают на меня
Я вызываю этот код в onCreate моей основной активности
PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(),1,restatIntent,PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager alarmManager = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis() 1000,pendingIntent);
System.exit(0);
этот код закрывает приложение, как только приложение открывается, а затем запускает сбой приложения с этой ошибкой
Отклонение повторного инициализации ранее неудачного класса java.lang.Класс<androidx.core.view.ViewCompat$2>: java.lang.NoClassDefFoundError: Не удалось разрешить: Landroid/просмотр/Просмотр$OnUnhandledKeyEventListener;
Я хочу периодически перезапускать свое приложение каждые 3 часа. Любая помощь будет признательна
Комментарии:
1. Не могли бы вы, пожалуйста, прикрепить полную трассировку стека? Кроме того, 1 предложение Вы должны показать диалоговое окно через три часа и выйти из приложения после подтверждения, а не выходить принудительно, так как это приведет к очень плохому пользовательскому опыту. Возможно, пользователь что-то читает или смотрит, и приложение выходит случайным образом.
2. Мы должны сделать это решительно по требованию клиента
3. Правильный. Я понял это требование, но диалог также делает то же самое, но он не должен быть недопустимым
cancelable = false
. Это заблокирует пользователя от чтения и сообщит ему, что произошло, вместо того, чтобы просто закрыть его. Можете ли вы прикрепить stacktrace?