Я пытаюсь реализовать режим PIP в приложении на основе навигации.
Приложение использует Nokia HERE Maps SDK в качестве движка карт.
Приложение отлично работает без PIP, переходит в фоновый режим и нормально возобновляет работу без него.
Но при использовании режима PIP окно PIP не обновляется, я не вижу обновления местоположения пользователя / скорости в окне. Изредка я слышу инструкции по маневрированию TTS.
Кроме того, когда я пытаюсь максимизировать окно PIP, это приводит к зависанию экрана, и мой не возобновляется в течение примерно 10 секунд. Через некоторое время приложение возвращается в свое нормальное состояние и показывает движение, как и должно быть.
Понятия не имею, почему приложение ведет себя так.
Я использовал этот код для реализации режима PIP.
try {
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
Rational aspectRatio = new Rational(width,height);
PictureInPictureParams.Builder mPictureInPictureParamsBuilder = new PictureInPictureParams.Builder();
mPictureInPictureParamsBuilder.setAspectRatio(aspectRatio).build();
enterPictureInPictureMode(mPictureInPictureParamsBuilder.build());
} catch (IllegalStateException e) {
e.printStackTrace();
}
Пожалуйста, кто-нибудь пролил свет на мои ошибки.