如何读取Android的浏览器历史记录 [英] How to read Chrome history in Android

查看:969
本文介绍了如何读取Android的浏览器历史记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有可能只读历史?

通过下面的code,我能够获得历史和书签,但我想只读历史。

 的String [] = PROJ新的String [] {Browser.BookmarkColumns.TITLE,Browser.BookmarkColumns.URL};
字符串chnHi​​story = Browser.BookmarkColumns.BOOKMARK += 0+或访问大于0; // 0 =历史,1 =书签
mycur = getContentResolver()查询(Browser.BOOKMARKS_URI,凸出,chnHi​​story,NULL,NULL);诠释计数= mycur.getCount();
mycur.moveToFirst();
阵列=新的ArrayList<串GT;();
如果(mycur.moveToFirst()及&放大器;计数大于0)
{
  而(计数大于0)
  {
     array.add(mycur.getString(Browser.HISTORY_PROJECTION_URL_INDEX));
     计数 - ;
     mycur.moveToNext();
  } // while循环结束
} //如果块结束
如果(array.size()大于0)
{
  的for(int i = 0; I< array.size();我++)
  {
    Log.e(结果,array.get(ⅰ));
  }
}


解决方案

要只检索历史,没有书签,用0。

官方文档


  

标志,指示项目是一个书签。值为1表示一个书签,的值为0表示历史项。


<子>(重点煤矿)

code:

  super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_main);    的String [] = PROJ新的String [] {Browser.BookmarkColumns.TITLE,
            Browser.BookmarkColumns.URL};
    串chnHi​​story = Browser.BookmarkColumns.BOOKMARK += 0; // 0 =历史,
    光标mycur = this.managedQuery(Browser.BOOKMARKS_URI,PROJ,
            chnHi​​story,NULL,NULL);
    this.startManagingCursor(mycur);
    mycur.moveToFirst();    ArrayList的&LT;串GT;阵列=新的ArrayList&LT;串GT;();
    字符串title =;
    字符串URL =;    如果(mycur.moveToFirst()及&放大器; mycur.getCount()大于0){
        而(!mycur.isAfterLast()){
            标题= mycur.getString(mycur
                    .getColumnIndex(Browser.BookmarkColumns.TITLE));
            URL = mycur.getString(mycur
                    .getColumnIndex(Browser.BookmarkColumns.URL));
            array.add(标题+:+网址);
            mycur.moveToNext();
        }
    }    如果(array.size()大于0){
        对于(字符串字符串:数组){
            Log.d(结果,字符串);
        }
    }

清单文件添加权限:

 &LT;使用许可权的android:NAME =com.android.browser.permission.READ_HISTORY_BOOKMARKS/&GT;

Is it possible to read only the history?

By using the following code, I am able to get both history and bookmarks, but I want to read the History only.

String[] proj = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL };
String chnHistory = Browser.BookmarkColumns.BOOKMARK + " = 0"+" OR visits > 0"; // 0 = history, 1 = bookmark
mycur = getContentResolver().query(Browser.BOOKMARKS_URI, proj, chnHistory, null, null);

int count = mycur.getCount();
mycur.moveToFirst();
array = new ArrayList<String>();
if (mycur.moveToFirst() && count > 0) 
{
  while (count > 0) 
  {
     array.add(mycur.getString(Browser.HISTORY_PROJECTION_URL_INDEX));
     count--;
     mycur.moveToNext();
  }//End of while loop
}//End of if block
if(array.size() > 0)
{       
  for (int i = 0; i < array.size(); i++) 
  {
    Log.e("result ", array.get(i));
  }
}

解决方案

To retrieve only the history, without the bookmarks, use 0.

From the Official Documentation:

Flag indicating that an item is a bookmark. A value of 1 indicates a bookmark, a value of 0 indicates a history item.

(emphasis mine)

Code:

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String[] proj = new String[] { Browser.BookmarkColumns.TITLE,
            Browser.BookmarkColumns.URL };
    String chnHistory = Browser.BookmarkColumns.BOOKMARK + " = 0"; // 0 = history,
    Cursor mycur = this.managedQuery(Browser.BOOKMARKS_URI, proj,
            chnHistory, null, null);
    this.startManagingCursor(mycur);
    mycur.moveToFirst();

    ArrayList<String> array = new ArrayList<String>();
    String title = "";
    String url = "";

    if (mycur.moveToFirst() && mycur.getCount() > 0) {
        while (!mycur.isAfterLast()) {
            title = mycur.getString(mycur
                    .getColumnIndex(Browser.BookmarkColumns.TITLE));
            url = mycur.getString(mycur
                    .getColumnIndex(Browser.BookmarkColumns.URL));
            array.add(title + " : " + url);
            mycur.moveToNext();
        }
    }

    if (array.size() > 0) {
        for (String string : array) {
            Log.d("result ", string);
        }
    }

Add permission in Manifest file:

<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>

这篇关于如何读取Android的浏览器历史记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆