Я разрабатываю кроссплатформенное мобильное приложение с использованием Dioxus версии 0.6 и тестирую его на эмуляторе Android (AVD).
Проблема
Когда я ухожу от корневого маршрута (например, от / к /details), а затем нажимаю физическую кнопку или кнопку возврата жестом на эмуляторе Android, приложение немедленно закрывается (выходит) вместо возврата к предыдущему маршруту (/).
Это происходит несмотря на подтверждение того, что переход к /details был выполнен с помощью navigator.push(...) (который должен заполнить стек истории маршрутизатора).
Основной вопрос архитектуры
В документации Dioxus предполагается, что его встроенный маршрутизатор должен самостоятельно обрабатывать события истории платформы. В частности:
Ожидается ли, что Dioxus 0.6 Mobile (Android) будет поддерживать перехват собственного события onBackPressed (или эквивалентного жеста) «из коробки»?
Должна ли базовая платформа Dioxus/WRY/TAO автоматически переводить это собственное событие в вызов navigator.go_back(), который использует событие на уровне WebView?
Шаги Выполнено и диагностировано
Я предпринял следующие шаги, основываясь на распространенных проблемах маршрутизатора/WebView:
Проверенный метод навигации: все переходы между страницами используют navigator.push(...), чтобы гарантировать, что стек истории не заменяется.
Обзор Logcat: я проверил выходные данные Logcat через adb logcat и не увидел явных ошибок маршрутизатора Dioxus (E) или предупреждений (W) при возврате назад. кнопка нажата. Это говорит о том, что либо событие полностью игнорируется, либо оно вообще не пересылается на уровень Rust/Wasm.
Если автоматический перехват действительно является стандартным поведением OOTB для версии 0.6, какой конкретный компонент (например, файл DioxusActivity.java/Kotlin или настройка инициализации) может не пересылать собственное событие обратного нажатия Android во встроенную среду WebView/WASM?
Мы будем очень признательны за любую информацию от разработчиков, успешно развертывающих приложения Dioxus 0.6 на Android.
Подробнее здесь: https://stackoverflow.com/questions/798 ... y-dioxus-0