以编程方式查找 Chrome 浏览器历史记录

Programmatically finding Chrome browser history

本文关键字:浏览器 历史 记录 Chrome 查找 编程 方式      更新时间:2023-09-26

我正在制作一个小型的Java应用程序来显示用户访问最多的Chrome网址。如何在 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
    }
}

并注册该类以监视历史记录/书签更改:

private static String CHROME_BOOKMARKS_URI = 
       "content://com.android.chrome.browser/bookmarks";
ChromeOberver observer = new ChromeOberver();
resolver.registerContentObserver(CHROME_BOOKMARKS_URI, true, observer);

不要忘记权限:

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