2013-12-05 1 views
1

Основная идея - изменить каждый URL-адрес, загружаемый в веб-просмотр (например, добавление/удаление параметров получения).Как изменить загрузку URL-адреса в веб-просмотре?

У меня есть обычай WebViewClient, в котором у меня есть следующий метод:

public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    String modifiedUrl = Util.someMethod(url); 
    super.shouldOverrideUrlLoading(view, modifiedUrl); 
} 

Будет ли это работать, или я должен поставить эту логику в другом методе, например onPagestarted?

ответ

2

Вы скорее должны сделать что-то вроде:

public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    if(conditionForModifyingUrl){ 
     String modifiedUrl = Util.someMethod(url); 
     view.loadUrl(modifiedUrl); 
     return true; 
    } 
    return false; 
} 

Вызов super.shouldOverrideUrlLoading(view, modifiedUrl) не будет работать, потому что, как это его название, этот метод только проверяет, является ли URL-адрес должен быть перекрыты, а не загружает URL в все.

+0

Я также думал об этом, но не рискованно ли останавливаться и перезапускать загрузку URL-адреса (потеря данных и т. Д.)? – nios

+0

Нет проблем, но учтите, что loadUrl вызовет shouldOverrideUrlLoading. Поэтому не забудьте иметь правильное условие, чтобы не иметь бесконечного цикла (он должен возвращать false в конце) – gahfy

 Смежные вопросы

  • Нет связанных вопросов^_^