【问题标题】:read browser history on ICS在 ICS 上阅读浏览器历史记录
【发布时间】:2012-07-26 11:04:05
【问题描述】:

我可以使用 CONTENT_URI 指向 Browser.BOOKMARKS_URI 的以下光标获取 Android 2.2 上的默认历史记录

cursor = context.getContentResolver().query(CONTENT_URI, Browser.HISTORY_PROJECTION, null, null, null);

if (cursor.moveToLast()) 
        String url = cursor.getString(Browser.HISTORY_PROJECTION_URL_INDEX);

但它在 android ICS 上不起作用,我得到了一个错误的 url,它总是一样的:1970-01-01 00:00:00 http://www.samsung.com/m-manual/common

PS:获取我使用的日期cursor.getLong(Browser.HISTORY_PROJECTION_DATE_INDEX)

【问题讨论】:

    标签: android browser-history


    【解决方案1】:

    你也试过getAllBookmarks()吗?

    Cursor cursor = Browser.getAllBookmarks(getContentResolver());
    if (cursor != null) {
        try {
            while (cursor.moveToNext()) {
                String url = cursor.getString(cursor.getColumnIndex(Browser.BookmarkColumns.URL));
            }
        } finally {
            cursor.close();
        }
    }
    

    编辑:

    String sortOrder = Browser.BookmarkColumns.DATE + " ASC";
    Cursor cursor = getContentResolver().query(CONTENT_URI, Browser.HISTORY_PROJECTION, null, null, sortOrder);
    if (cursor != null) {
        try {
            if (cursor.moveToLast()) {
                String url = cursor.getString(Browser.HISTORY_PROJECTION_URL_INDEX);
                long date = cursor.getLong(Browser.HISTORY_PROJECTION_DATE_INDEX);
            }
        } finally {
            cursor.close();
        }
    }
    

    实际上为什么http://www.samsung.com/m-manual/common url 是错误的?你期待什么网址?您尚未指定任何要排序的列。通过cursor.moveToLast(),您将光标移动到最后一项,而不是遍历书签。

    【讨论】:

    • 我只想获取最新访问的url
    猜你喜欢
    • 2011-02-04
    • 2015-06-14
    • 1970-01-01
    • 2017-05-17
    • 2011-11-14
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多