2013-01-09 28 views
6

アンドロイドのウェブビュー履歴から特定のURLを削除することはできますか?私はGoogleの多くは、しかし、私はAPIのドキュメントをチェックし、私は同じことを行うための直接の方法はないと思うどんなゾルを見つけることができませんでした。 は、以下のコードを見てい:歴史で遊ぶことが可能であることは明らかであるコードの2行目からAndroidウェブビューの履歴から特定のURLを削除/消去しますか?

// 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(); 

をので、私はウェブから特定のリンクを削除するにはいくつかの方法やトリックがなければならないと思いますビューの履歴。 あなたには意味がありますか?

すべてのコードスニペットやリンクは高く評価されます。

おかげで、

答えて

3

さて、あなたが実際に戻って、前方リストで遊ぶことができるかどうかわかりません。私はそれがコピーだと思うでしょう - 少なくともそれは名前が示唆しているものです。

ただし、バックステッピングはある程度操作できます。私の場合は、ユーザーが2ページ目から1ページ目に戻るために既にアプリケーションを終了しています。

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

@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 ... 

また、上からものを組み合わせると、URLのロードをオーバーロードすることにより、他の他のページをステップオーバーでき

関連する問題