onUserLeaveHint () [иногда] вызывается с помощью startActivityForResult () - PullRequest
0 голосов
/ 10 июня 2019

Я реализую PiP в нашем приложении для Android.Это навигационное приложение, основным направлением деятельности которого является полноэкранная карта.При сворачивании (например, с помощью кнопки home) он корректно переходит в режим PiP через onUserLeaveHint ().Проблема в том, что основное действие имеет некоторые функции, которые открывают дополнительные действия, и иногда приложение переходит также в режим PiP.

Что я делаю неправильно или что я должен изменить, чтобы убедиться, что приложение только работаетв PiP, когда приложение «свернуто»?

Вот код, но я думаю, что в этом нет ничего особенного.

Это для перехода в режим PiP:

@Override
protected void onUserLeaveHint() {
    if (iWantToBeInPipModeNow()) { //internal logic to allow PiP
        PictureInPictureParams params = new PictureInPictureParams.Builder()
                        .setAspectRatio(new Rational(9, 16))
                        .build();
        enterPictureInPictureMode(params);
    }
}

Это открыть вторичное действие:

@Override
public void onClick(View v) {
    if (v == myButton) {
        Intent intent = new Intent(getContext(), SomeActivity.class);
        startActivityForResult(intent, REQ_SELECT_TYPE);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...