Просмотр экземпляра без нажатия кнопки в Android

Я использую vidyo для реализации видеозвонков в своем приложении для Android. Как создать экземпляр представления при загрузке нового намерения?

У меня есть кнопка, и, нажав на нее, я могу выполнить требуемое действие. Он определяется как таковой.

public void Start(View v){
   vc = new Connector(videoFrame, Connector.ConnectorViewStyle.VIDYO_CONNECTORVIEWSTYLE_Default,
                16, "warning all@VidyoConnector info@VidyoClient", "", 0);
   vc.showViewAt(videoFrame, 0, 0, videoFrame.getWidth(), videoFrame.getHeight());
   }

Но теперь я хочу, чтобы то же действие выполнялось без нажатия кнопки.

Это должно произойти в onCreate(), но это не работает. Я не могу просмотреть предварительный просмотр камеры. Что еще можно сделать?


person user    schedule 30.09.2019    source источник
comment
пожалуйста, опубликуйте журнал сбоев, когда он терпит неудачу.   -  person Jaymin    schedule 30.09.2019
comment
приложение не вылетает. я не могу просмотреть предварительный просмотр, когда добавляю тот же код в onCreate().   -  person user    schedule 30.09.2019
comment
попробуйте добавить onResume   -  person Abdul    schedule 30.09.2019
comment
Попробуйте тот же метод кода onStart().   -  person Jaymin    schedule 30.09.2019


Ответы (1)


Вероятно, это потому, что ваш видеофрейм еще не создан. Перед использованием методов getWidth и getHeight необходимо убедиться, что представление завершило компоновку, для этого вы можете использовать, например. OnglobalLayoutListener.

videoFrame.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
// YOUR CODE GOES HERE
videoFrame.getViewTreeObserver().removeOnGlobalLayoutListener(this);
    }
});
person Muhannad Fakhouri    schedule 30.09.2019
comment
Я получаю полный пустой экран с этим. Приложение не вылетает, но и превью не открывается - person user; 30.09.2019
comment
Возможно, возникла проблема с рендерингом вашего видеокадра. Видите ли вы какие-либо предупреждения? - person Muhannad Fakhouri; 30.09.2019
comment
Попробовал еще раз, экран не открывается сразу, он сжимается и увеличивается, пока соединение не установится. - person user; 30.09.2019
comment
ой забыл упомянуть, что вы должны отменить регистрацию слушателя после первого звонка, я обновил ответ - person Muhannad Fakhouri; 30.09.2019