2013-01-09 30 views
6

Có thể xóa url cụ thể khỏi lịch sử xem web của Android không? Tôi Google rất nhiều nhưng không thể tìm thấy bất kỳ sol, thậm chí tôi đã kiểm tra tài liệu của api và tôi nghĩ rằng không có cách nào trực tiếp để làm như vậy. có một cái nhìn ở mức dưới mã:Xóa/Xóa một url cụ thể khỏi lịch sử xem web trên Android?

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

Từ dòng thứ 2 của mã rõ ràng là nó có thể chơi xung quanh với lịch sử, vì vậy tôi nghĩ rằng phải có một số cách này hay cách lừa để xóa một liên kết cụ thể từ web xem lịch sử. Nó có ý nghĩa gì với các bạn không?

Bất kỳ đoạn mã hoặc liên kết nào đều sẽ được đánh giá cao.

cảm ơn,

Trả lời

3

Vâng, không chắc chắn nếu bạn thực sự có thể chơi xung quanh với danh sách trả về sau. Tôi cho rằng đó là một bản sao - ít nhất đó là cái tên gợi ý.

Tuy nhiên, bạn có thể thao tác lùi lại ở một mức độ nào đó. Trong trường hợp của tôi, tôi thoát khỏi ứng dụng khi người dùng cố gắng lùi lại từ trang thứ hai về phía trang đầu tiên.

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

Bạn có thể bước qua cũng các trang khác bằng cách kết hợp các công cụ từ trên và quá tải url tải:

  @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url){ 
       view.loadUrl(url); 
       return true; 
      } 
Các vấn đề liên quan