Я разрабатываю приложение Android с SDK с ошибками (связано с оборудованием, поэтому альтернативы нет - я тоже не могу редактировать этот SDK). Иногда в SDK возникают ошибки, которые неизбежны и фатальны из-за того, что он плохо запрограммирован, а это означает, что мое приложение скрежещет sh. Затем приложение автоматически открывается после ошибки sh и снова работает нормально, за исключением того факта, что наверху остается всплывающее окно с надписью [my app's name] has stopped
. Это всплывающее окно автоматически закрывается через пять минут.
Есть ли способ программно закрыть это всплывающее окно (т.е. без какого-либо взаимодействия с пользователем)?
Я изучал возможность имитации нажатия на экран, чтобы закрыть его, но это по многим причинам (включая тот факт, что он слишком сложный) - плохая идея. В идеале, решение для закрытия этого всплывающего окна могло бы включать Intent
. Обратите внимание: это всплывающее окно не программно открывается моим приложением (и является частью системы Android), поэтому я не могу сделать что-то настолько простое, как вызов dismiss()
.
Я пробовал использовать следующий код (этот код запускается только в том случае, если приложение перезапустилось после ошибки sh, что означает, что в это время всплывающее окно будет поверх приложения), но это не сработало.
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
intent.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
instance.startActivity(intent);