Я создаю приложение, которое создает и позволяет пользователю редактировать HTML-файл, добавляя примечания и/или ссылки на него. Затем он позволяет пользователю синхронизировать его с помощью Dropbox, чтобы они могли просматривать файл с любого другого устройства Android или из браузера на своем компьютере. В этой программе у меня есть WebView, который загружает html-страницу и показывает ее пользователю. Однако, если я скажу webview, чтобы загрузить сокращенную версию URL (например, http://db.tt/DrSmhwq) вместо того, чтобы помещать ее в свой WebView, она открывается в браузере поверх моего приложения. Если я использую длинную версию URL (например, http://dl.dropbox.com/u/5724095/DBNotes.html), она загружает ее внутри моего WebView просто отлично. Поэтому у меня есть несколько вопросов: в чем разница между сокращенными URL-адресами и длинными? Есть ли что-то о URL-адресе, вызывающем это поведение, или, скорее, это проблема с Android WebView? И кто-нибудь знает, есть ли способ генерировать длинные версии URL-адресов из приложения Android-приложения Dropbox? В противном случае мне придется направлять своих пользователей, чтобы перейти на сайт на своем компьютере и создать длинную ссылку и ввести ее в мое приложение, это не похоже на хорошее решение.Утилита для удаления веб-приложений Android WebView
Редактировать: Я сделал биткий url, который указывает на более длинный URL-адрес Dropbox и попытался вызвать wv.loadUrl() на этом, а также открыл браузер вместо того, чтобы загружать его в WebView. Поэтому я предполагаю, что это поведение по умолчанию для того, как WebView обрабатывает перенаправления. Кто-нибудь знает, как я могу заставить его загружать страницу, которая направлена внутрь самой, а не в окно браузера?
Я думал, что этот метод выглядит многообещающим, но как я могу получить URL-адрес, к которому он перенаправляется? URL-адрес, который передается в shouldOverrideUrlLoading(), будет сокращенным, не так ли? Я проверю это, когда вернусь на свой компьютер и приму свой ответ, если он сработает. – FoamyGuy
@Tim: URL-адрес передается вам как второй параметр 'shouldOverrideUrlLoading()'. «URL-адрес, который передается в shouldOverrideUrlLoading(), будет сокращенным, не так ли?» - нет. – CommonsWare