У меня есть приложение VoIP. Раньше он работал без CallKit, поэтому у него есть собственный пользовательский интерфейс вызова в приложении. Теперь я интегрирую CallKit UI для обработки вызовов, которые происходят, когда приложение не запущено, и у меня есть вопрос:
Каков рекомендуемый способ определить момент, когда пользовательский интерфейс CallKit закрывается и собирается переключиться на пользовательский интерфейс в приложении?
В настоящее время я вижу, что пользовательский интерфейс CallKit исчезает в двух случаях:
- когда процесс приложения не запущен, а устройство разблокировано (например, на главном экране) и поступает вызов, сначала появляется пользовательский интерфейс CallKit, но если вы принимаете вызов (ответ), пользовательский интерфейс CallKit немедленно исчезает, и появляется приложение.
- когда процесс приложения не запущен, а устройство заблокировано, поступает вызов, появляется пользовательский интерфейс CallKit, вы принимаете вызов (ответ), а затем нажимаете значок приложения в пользовательском интерфейсе CallKit, затем снова пользовательский интерфейс CallKit исчезает и появляется приложение.
Каков рекомендуемый способ обнаружения этих условий для создания пользовательского интерфейса в приложении?
Причина, по которой я не хочу, чтобы пользовательский интерфейс приложения постоянно запускался, - это производительность и логика. Я думаю, было бы расточительно показывать и обновлять элементы управления и просмотры видео (в приложении есть поддержка видео), пока пользовательский интерфейс CallKit находится в верхней части экрана. Для меня было бы логичнее, если бы я мог определить необходимость переключения пользовательского интерфейса и создать пользовательский интерфейс на этом этапе.
Я просмотрел API CallKit, но ничего не нашел для этой цели.