Turbolinks 5 и Android: не работают при загрузке файлов (веб-просмотр)
проблема
Когда пользователь щелкает по файлу выбора, я перехватываю этот щелчок и вызываю собственное представление (экран 3 в макете).
После того, как пользователь выберет файл, который он хочет загрузить, мне нужно "перезагрузить" представление, чтобы добавить имя файла в форму, чтобы пользователь мог получить отзыв о том, что он правильно выбрал файл.
Для этого я звоню onRestart
со следующим кодом:
@Override
protected void onRestart() {
super.onRestart();
// mCM is a variable to detect when the user is choosing a file.
if (null == mCM) {
// Since the webView is shared between activities, we need to tell Turbolinks
// to load the location from the previous activity upon restarting
TurbolinksSession.getDefault(this)
.activity(this)
.adapter(this)
.restoreWithCachedSnapshot(true)
.view(turbolinksView)
.visit(location);
}
}
Как вы можете видеть, в этом методе при загрузке файла я НЕ перезагружаю представление, используя TurbolinksSession
,
Но если я не позвоню TurbolinksSession
Турболинкс никогда не звонит visitProposedToLocationWithAction
,
сценарий
ПРИМЕЧАНИЕ. Загрузите изображение, если хотите увеличить изображение.
Что мне не хватает? Есть ли способ решить эту проблему и получить ожидаемый результат?
1 ответ
В этих 2 вопросах вы можете найти решение и решение проблемы (читайте в следующем порядке):