Не удается открыть диалоговое окно для выбора пользователем параметров с помощью HTTP-вызова во время сеанса AR

#android #xamarin #asynchronous

#Android #xamarin #асинхронный

Вопрос:

Во время AR session (ARCore in Xamarin.Android, with OpenGL) , всплывающее диалоговое окно не может отображаться.

Мой Xamarin.Форма Android теперь позволяет пользователю размещать объект в AR Session .

Поток конформации хотел бы добавить, как показано ниже:

  1. Пользователь щелкает в сеансе AR, вычисляет координаты реального мира с помощью GPS.
  2. Используйте HTTP-вызов, чтобы проверить, можно ли найти какой-либо ссылочный объект из базы данных.
  3. Если да, появится диалоговое окно для подтверждения объекта пользователем.

Пытался добавить процедуру на другом этапе:

  • OnSingleTap —> Не существует контекста OpenGL
  • onDrawFrame —> игнорируется потоком

Пытался запустить асинхронный поток синхронно:

  • Task tm = Task.Run(async () => await имя_функции —> игнорируется

Комментарии:

1. У вас есть попытка RunOnUiThread(() => { //Pop Up Method }); ? Когда фоновая обработка завершается, пользовательский интерфейс должен быть обновлен в потоке пользовательского интерфейса.

2. runOnUiThread действительно работает, спасибо! Кроме того, для модели обновления AR также необходимо установить значение «при загрязнении» вместо «Продолжить».

3. Хорошо, могу я обновить это для ответа?

4. Да, пожалуйста. Спасибо вам

5. Отлично, рад, что вы решили это! Я обновил ответ, спасибо за пометку заранее. 🙂

Ответ №1:

Во время сеанса AR (ARCore в Xamarin.Android, с OpenGL), всплывающее диалоговое окно не может отображаться.

Когда фоновая обработка завершается, пользовательский интерфейс должен быть обновлен в потоке пользовательского интерфейса.

 RunOnUiThread(() =>
{
    //Here is your UI code.
});
  

Вот действие.Метод runOnUiThread .