如何在Chrome中获取上次/当前访问的网址?

时间:2014-04-28 04:37:36

标签: android google-chrome browser browser-history

我在我的服务中运行以下函数'getChromeLastURL()',并检查每秒访问的最后一个URL(我想抓住Chrome或其他浏览器打开时用户正在访问的当前URL)。

问题 - 浏览器历史记录似乎不经常更新。它确实改变了我可以在Log中看到,但它需要一段时间,不能观察一组内部。

有没有办法强制浏览器历史记录刷新并获取最新的URL?

private String getChromeLastURL() {
    String[] proj = new String[] { Browser.BookmarkColumns.TITLE,Browser.BookmarkColumns.URL };
    Uri uriCustom = Uri.parse("content://com.android.chrome.browser/bookmarks");
    String sel = Browser.BookmarkColumns.BOOKMARK + " = 0"; // 0 = history, 1 = bookmark
    Cursor mCur = getContentResolver().query(uriCustom, proj, sel, null, null);
    mCur.moveToFirst();
    @SuppressWarnings("unused")
    String title = "";
    @SuppressWarnings("unused")
    String url = "";

    mCur.moveToLast();

    //title = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.TITLE));
    url = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.URL));
    Log.v("focus" + " url", "Chrome URL = " + url);
    return url;
}

1 个答案:

答案 0 :(得分:4)

讨厌回答我自己的问题,但我通过以下方式实现了这个目标:

更改:

Cursor mCur = getContentResolver().query(uriCustom, proj, sel, null, null);

Cursor mCur = getContentResolver().query(uriCustom, proj, sel, null, BookmarkColumns.DATE + " ASC");