ref: http://stackoverflow.com/questions/2577084/android-read-browser-history
首先要取得读取记录必要的权限:
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" />
再来便是设定所需要的资料
String[] proj = new String[] {
Browser.BookmarkColumns.TITLE,
Browser.BookmarkColumns.URL
};
再使用 ContentResolver 初始化 Cursor
String sel = Browser.BookmarkColumns.BOOKMARK + " = 0"; // 0 = history,
// 1 = bookmark
Cursor mCur = getContentResolver().query(Browser.BOOKMARKS_URI, proj, sel, null, null);
再遍历 cursor中的所有资料
public int getBrowserHistory(String historyKeyword) {
int foundRecord = 0;
String title = "";
String url = "";
ArrayList<String> list = new ArrayList<String>();
String[] proj = new String[] {
Browser.BookmarkColumns.TITLE,
Browser.BookmarkColumns.URL
};
String sel = Browser.BookmarkColumns.BOOKMARK + " = 0"; // 0 = history,
// 1 = bookmark
Cursor mCur = getContentResolver().query(Browser.BOOKMARKS_URI, proj, sel, null, null);
mCur.moveToFirst();
if (mCur.getCount() > 0) {
boolean cont = true;
while (mCur.isAfterLast() == false && cont) {
title = mCur.getString(mCur
.getColumnIndex(Browser.BookmarkColumns.TITLE));
url = mCur.getString(mCur
.getColumnIndex(Browser.BookmarkColumns.URL));
Log.d("guang", title + ":" + url);
if (url.contains(historyKeyword)) {
foundRecord++;
Log.d("guang", "===============================================found!! " + foundRecord
+ "===========================================");
}
list.add(title + " : " + url);
mCur.moveToNext();
}
}
mCur.close();
return foundRecord;
}
完整项目代码: https://github.com/shanwu/shanwu_coding_base/tree/bookmark_record_example