2013-01-09 12 views
6

Czy można usunąć określony adres URL z historii oglądania na Androida? I Google dużo, ale nie był w stanie znaleźć żadnego sol, nawet ja sprawdziłem dokumentację API i myślę, że nie ma bezpośredniego sposobu, aby zrobić to samo. rzucić okiem na poniższy kod:Usunąć/Usunąć konkretny URL z historii przeglądania stron internetowych Androida?

// getting the whole list of web view's history.... 
WebBackForwardList list = wv.copyBackForwardList(); 
// getting previuous item/link 
String lastUrl = list.getItemAtIndex(list.getCurrentIndex()-1).getUrl(); 

od 2 linii kodu oczywiste jest, że możliwe jest, aby bawić się z historią, więc myślę, że musi być jakiś sposób, czy sztuczka usunąć konkretny link z sieci przejrzyj historię. Czy ma to dla ciebie jakiś sens?

Każdy fragment kodu lub jakikolwiek link zostanie wysoko oceniony.

Dzięki,

Odpowiedz

3

Cóż, nie wiem, czy rzeczywiście można bawić się z powrotem do przodu na liście. Zakładam, że to kopia - przynajmniej tak sugeruje nazwa.

Można jednak w pewnym stopniu manipulować krokiem wstecznym. W moim przypadku zamykam aplikację, gdy użytkownik próbuje cofnąć się od drugiej strony do pierwszej strony.

@Override 
    public boolean dispatchKeyEvent(KeyEvent event) { 
    int action = event.getAction(); 
    int keyCode = event.getKeyCode(); 
    switch (keyCode) { 
     case KeyEvent.KEYCODE_BACK: 
      if ((action == KeyEvent.ACTION_DOWN) && myWebView.canGoBack()) { 
       WebBackForwardList list = myWebView.copyBackForwardList(); 
       String lastUrl = list.getItemAtIndex(list.getCurrentIndex()-1).getUrl().toString(); 

       // Exit if index == 1, i.e. currently on 2nd page 
       if (list.getCurrentIndex() == 1) { 
        finish(); 
       } else ... 

Można także inne czynności na inne strony poprzez łączenie rzeczy z góry i przeciążenia url ładowania:

  @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url){ 
       view.loadUrl(url); 
       return true; 
      } 
Powiązane problemy