编程发现Chrome浏览器历史记录
问题描述:
我在做一个小的Java应用程序的用户访问了大多数浏览器显示哪些URL。我将如何访问在Java中我的浏览器历史记录?
I am making a small Java application to show which URLs in Chrome that the user has visited the most. How would I access my browser history within Java?
答
创建一个 ContentObserver
类...
static class ChromeOberver extends ContentObserver {
public ChromeOberver(Handler handler) {
super(handler);
}
@Override
public void onChange(boolean selfChange) {
onChange(selfChange, null);
}
@Override
public void onChange(boolean selfChange, Uri uri) {
super.onChange(selfChange);
Log.d(TAG, "onChange: " + selfChange);
Cursor cursor = context.getContentResolver()
.query(CHROME_BOOKMARKS_URI, new String() {"title", "url"},
"bookmark = 0", null, null);
// process cursor results
}
}
和注册该类监测历史/书签变化:
and register that class to monitor history/bookmark changes:
private static String CHROME_BOOKMARKS_URI =
"content://com.android.chrome.browser/bookmarks";
ChromeOberver observer = new ChromeOberver();
resolver.registerContentObserver(CHROME_BOOKMARKS_URI, true, observer);
不要忘了权限:
Don't forget the permission:
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" />