如何阅读Android中的Chrome历史记录

是否可以只阅读历史记录?

通过使用以下代码,我可以同时获取历史记录和书签,但我只想阅读历史记录。

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

要仅检索历史记录而不使用书签,请使用0。

来自官方文件 :

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

(强调我的)

码:

  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 array = new ArrayList(); 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); } } 

在Manifest文件中添加权限: