Как определить, когда устройство переходит в многооконный режим Android N

Я хочу получать уведомления от моего фонового сервиса, когда пользователь переключается в многооконный режим. Есть ли способ получить эту информацию службой, отличной от действий, вовлеченных в процесс.

Также я заметил, что при нажатии на оверлей в области окна переднего плана он автоматически переключается на активность под этой областью. Можно ли это предотвратить?

2 ответа

Вы должны добавить ViewTreeObserver. И проверьте, если устройство входит в многооконный режим getActivity(). IsInMultiWindowMode()

isInMultiWindowMode() добавлен в API 24, чтобы проверить, находится ли устройство в мультиокне или нет, он возвращает логическое значение. когда устройство переходит в мультиокно, оно срабатывает onConfigurationChanged() метод. Там вы можете обрабатывать ландшафтный и портретный режим.

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
     if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
      {
        //do something
      }else{

      }
}
Другие вопросы по тегам